Submission #411852

#TimeUsernameProblemLanguageResultExecution timeMemory
411852iulia13Carnival (CEOI14_carnival)C++14
100 / 100
11 ms284 KiB
#include <iostream>

using namespace std;
const int N = 150;
int v[N];
int ans[N];
int main()
{
    int n, m = 1, i, j;
    cin >> n;
    v[1] = 1;
    ans[1] = 1;
    for (i = 2; i <= n; i++)
    {
        cout << m + 1 << " " << i;
        for (j = 1; j <= m; j++)
            cout << " " << v[j];
        cout << endl;
        int k;
        cin >> k;
        if (k == m + 1)
        {
            v[++m] = i;
            ans[i] = m;
            continue;
        }
        int st = 1, dr = m;
        while (st < dr)
        {
            int mid = (st + dr) / 2;
            int l = mid - st + 1;
            cout << l + 1;
            for (j = st; j <= mid; j++)
                cout << " " << v[j];
            cout << " " << i;
            cout << endl;
            cin >> k;
            if (k == l)
                dr = mid;
            else
                st = mid + 1;
        }
        ans[i] = st;
    }
    cout << 0;
    for (i = 1; i <= n; i++)
        cout << " " << ans[i];
    cout << endl;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...