Submission #99321

# Submission time Handle Problem Language Result Execution time Memory
99321 2019-03-02T13:41:36 Z Mercenary Carnival (CEOI14_carnival) C++14
100 / 100
31 ms 384 KB
#include<bits/stdc++.h>

using namespace std;
#define taskname ""
#define pb	push_back
#define mp 	make_pair
template<typename TH> void _dbg(const char* sdbg, TH h) { cerr<<sdbg<<"="<<h<<"\n"; }
template<typename TH, typename... TA> void _dbg(const char* sdbg, TH h, TA... t) {
  while(*sdbg != ',')cerr<<*sdbg++; cerr<<"="<<h<<","; _dbg(sdbg+1, t...);
}

#ifdef LOCAL
#define debug(...) _dbg(#__VA_ARGS__, __VA_ARGS__)
#else
#define debug(...) (__VA_ARGS__)
#define cerr if(0)cout
#endif

typedef long double ld;
typedef long long ll;
typedef pair<int,int> ii;
const int maxn = 155;

int n , k;
int nTime = 0 , nPresent[maxn];
int res[maxn];
void ans(int color , int now)
{
    if(nPresent[color] == 0)nPresent[color] = now;
    res[now] = color;
}

int main()
{
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	if(fopen(taskname".INP","r"))
        freopen(taskname".INP", "r",stdin) ,
        freopen(taskname".OUT", "w",stdout);
    cin >> n;
    for(int i = 1 ; i <= n ; ++i)
    {
        cout << i << " " << flush;
        for(int j = 1 ; j <= i ; ++j)cout << j << " " << flush;
        cout << endl;
        int now;cin >> now;
        if(now > nTime)
            ans(++nTime , i);
        else{
            int l = 1 , h = nTime;
            while(l <= h)
            {
                int mid = l + h >> 1;
                cout << mid + 1 << " " << flush;
                for(int j = 1 ; j <= mid ; ++j)cout << nPresent[j] << " " << flush;
                cout << i << " " << endl;
                cin >> now;
                if(now != mid)l = mid + 1;
                else h = mid - 1;
            }
            ans(l , i);
        }
    }
    cout << 0 << " ";
    for(int i = 1 ; i <= n ; ++i)cout << res[i] << " ";
    cout << flush;
}

Compilation message

carnival.cpp: In function 'void _dbg(const char*, TH, TA ...)':
carnival.cpp:9:3: warning: this 'while' clause does not guard... [-Wmisleading-indentation]
   while(*sdbg != ',')cerr<<*sdbg++; cerr<<"="<<h<<","; _dbg(sdbg+1, t...);
   ^~~~~
carnival.cpp:9:37: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'while'
   while(*sdbg != ',')cerr<<*sdbg++; cerr<<"="<<h<<","; _dbg(sdbg+1, t...);
                                     ^~~~
carnival.cpp: In function 'int main()':
carnival.cpp:53:29: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
                 int mid = l + h >> 1;
                           ~~^~~
carnival.cpp:38:44: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
         freopen(taskname".INP", "r",stdin) ,
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
         freopen(taskname".OUT", "w",stdout);
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
carnival.cpp:38:44: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
# Verdict Execution time Memory Grader output
1 Correct 16 ms 384 KB Output is correct
2 Correct 23 ms 256 KB Output is correct
3 Correct 23 ms 256 KB Output is correct
4 Correct 12 ms 384 KB Output is correct
5 Correct 15 ms 256 KB Output is correct
6 Correct 13 ms 384 KB Output is correct
7 Correct 19 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 16 ms 252 KB Output is correct
2 Correct 23 ms 256 KB Output is correct
3 Correct 15 ms 384 KB Output is correct
4 Correct 16 ms 256 KB Output is correct
5 Correct 16 ms 384 KB Output is correct
6 Correct 12 ms 256 KB Output is correct
7 Correct 19 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 13 ms 384 KB Output is correct
2 Correct 19 ms 256 KB Output is correct
3 Correct 31 ms 256 KB Output is correct
4 Correct 14 ms 384 KB Output is correct
5 Correct 12 ms 384 KB Output is correct
6 Correct 19 ms 384 KB Output is correct
7 Correct 25 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 11 ms 256 KB Output is correct
2 Correct 11 ms 336 KB Output is correct
3 Correct 23 ms 256 KB Output is correct
4 Correct 19 ms 256 KB Output is correct
5 Correct 20 ms 384 KB Output is correct
6 Correct 18 ms 256 KB Output is correct
7 Correct 25 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 11 ms 340 KB Output is correct
2 Correct 22 ms 384 KB Output is correct
3 Correct 28 ms 384 KB Output is correct
4 Correct 27 ms 384 KB Output is correct
5 Correct 20 ms 384 KB Output is correct
6 Correct 17 ms 256 KB Output is correct
7 Correct 20 ms 256 KB Output is correct