I'm only getting the 'Idleness limit exceeded' verdict, but why?

Revision en1, by Mahfuz2411, 2024-08-21 10:26:07

Contest: Codeforces Round 967 (Div. 2) Problem: 2001C - Guess The Tree

Please read my post, and if you don't like it, before downvoting, please leave a comment explaining why you didn't like my post!

I haven't dealt with this type of problem before, so I don't know what's happening here. Please help me.

here is my code

void solve() {
    int n;   cin>>n;
    vector <int> v[1001];
    vector <pair <int,int>> ans;
    for(int i=2; i<=n; i++) {
        cout << "? " << 1 << ' ' << i << endl;
        cout.flush();
        int a;  cin>>a;
        if(a==1) ans.push_back({1, i});
        else v[a].push_back(i);
    }
 
    for(int i=2; i<=n; i++) {
        for(auto j: v[i]) {
            cout << "? " << i << ' ' << j << endl;
            cout.flush();
          
            int a;  cin>>a;
            if(a==-1) exit(0);
            if(a==i or a==j) ans.push_back({i, j});
            else v[a].push_back(j);
        }
    }
 
    cout << "! ";
    for(auto [x,y]: ans) cout << x << ' ' << y << spc;
    cout << newl;
    cout.flush();
    // long_line;
    return;
}

and here is my submission

Tags c++, problem

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en1 English Mahfuz2411 2024-08-21 10:26:07 1273 Initial revision (published)