Я программирую в C++ некоторые проблемы на автоматизированной платформе, и это дает мне ограничение по времени, я тестировал код в терминале, и я не знаю, почему он не перестает ждать номеров, и я устанавливаю предел для n числа в цикле while. Он должен остановиться, когда я ввожу n чисел. Здесь код:
#include<iostream>
#include<vector>
using namespace std;
int main(){
int n;
while (cin >> n){
vector<int> v(n);
int count = 0;
for (int i = 0; i < n; ++i){
cin >> v[i];
bool unique = true;
for (int j = 0; j < i; ++j){
if (v[i] == v[j]){
unique = false;
j = 1;
}
}
if (unique)
++count;
}
cout << count << endl;
}
}
Вы останавливая программу со следующим утверждением во внутреннем for
цикла:
j = 1;
Я думаю, что вы можете безопасно удалить эту строку, и она должна начать работать по назначению, возможно, изменив внутренний цикл:
for (int j = 0; j < i && unique; ++j) { ... }
j = 1;
? Что то, что для?j = 1
и можете продолжать цикл навсегда ...