Я пытаюсь запустить программу и ИНОГДА Я получаю эту ошибку при попытке компиляциипрограмма падает после выхода
л.д. возвращается 1 выход статус
Хотя, когда он компилирует (как я уже сказал, не всегда) и пытаясь поместить определенный вход, программа выдает ответ ... а затем сработает. Можно ли вообще это сделать?
Вот мой код:
#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
int main() {
bool flag;
int n,x[] = {1,-1};
long long int A,cont,mul,acum;
while(cin >> n >> A) {
acum = 0;
vector<long long int> nums(n),nums2;
for(int i=0;i<n;i++) cin >> nums[i];
sort(nums.begin(),nums.end());
for(int i=n-1;i>=0;i--) {
flag = 1;
for(int j=0;j<i and flag;j++) if(nums[i]%nums[j] == 0) flag = 0;
if(flag) nums2.push_back(nums[i]);
}
n = nums2.size();
vector<long long int> mult(n,0);
const long long int num = (1<<n);
for(int i=0;i<num;i++) {
cont = 0, mul = 1;
for(int j=n-1;j>=0;j--) if(i & (1<<j)) cont++, mul *= nums2[j];
mult[cont-1] += A/mul;
}
for(int i=0;i<n;i++) acum += (x[i%2]*mult[i]);
cout << acum << endl;
}
return 0;
}
и это вход Я ставлю, когда программа падает:
17 1000
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
какое сообщение вы получите при аварии? – Andrew
@hinafu, в качестве оповещения вы забыли '#include'. –
Ошибки компилятора иногда могут быть результатом того, что некоторые из них не поддерживают 'и' как '&&'. – chris