我把动态数组的类型改成float再提交的话就会出错,但是我回顾了很多遍找不出来它们的类型对代码有什么影响,要不要我以后就都用double?下面是代码```cpp
#include
#include
#include
using namespace std;
int main(){
int n = 0;
cin >> n;
vectora(n,0);
vectort(n, 0);
vectora_t(n, 0);
for (int i = 0; i < n; i++) {
cin >> a[i] >> t[i];
a_t[i] = a[i] * t[i];
}//三个数组的值输入完毕
for (int i = 0; i < n - 1; i++) {
if (a_t[i] > a_t[i + 1]) {
a_t[i + 1] = a_t[i];
}
}//找出了数组需要的最大数量a_t[i + 1]
vectorlight(ceil(a_t[n - 1]), 0);
for (int i = 0; i < n; i++) {
for (int j = 0; j < t[i]; j++) {//t[i]代表第i+1个t的大小
if (light[floor(a[i] * (t[i]-j))-1] == 1) {
light[floor(a[i] * (t[i] - j)) - 1] = 0;
}
else {
light[floor(a[i] * (t[i] - j)) - 1] = 1;
}//转换轮到的开关状态
}
}
for (int i = 0; i < ceil(a_t[n - 1]); i++) {
if (light[i]) {
cout << i + 1;
break;
}
}
std::system("pause");
return 0;
}