时间限制超出了错误C ++

时间:2014-11-12 09:07:25

标签: c++ vector iostream

我在C ++中编程在自动化平台中出现了一些问题,它超出了时间限制,我测试了终端中的代码,我不知道它为什么不停止等待数字我在while循环中限制了n个数字。当我输入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;
    }
}

1 个答案:

答案 0 :(得分:2)

您正在使用内部for循环中的以下语句停止程序:

j = 1;

我认为您可以安全地删除该行,并且应该按预期开始工作,可能会将内部循环更改为:

for (int j = 0; j < i && unique; ++j) { ... }