Submission #25922

# Submission time Handle Problem Language Result Execution time Memory
25922 2017-06-25T06:23:05 Z kriii Carnival (CEOI14_carnival) C++14
100 / 100
9 ms 1172 KB
#include <stdio.h>
#include <vector>
using namespace std;

vector<int> pos;
int num[155], col[155], C;

int main()
{
	int N; scanf ("%d",&N);
	for (int i=1;i<N;i++){
		printf ("%d",N-i+1);
		for (int j=i;j<=N;j++) printf (" %d",j); puts(""); fflush(stdout);
		scanf ("%d",num+i);
	}
	num[N] = 1;

	for (int i=1;i<=N;i++) if (num[i] != num[i+1]){
		col[i] = ++C;
		pos.push_back(i);
	}

	for (int i=1;i<=N;i++) if (!col[i]){
		while (pos[0] < i) pos.erase(pos.begin());
		int l = 0, r = pos.size(), a = pos.size();
		while (l + 1 < r){
			int m = (l + r) / 2;
			int s = pos.size() - m + 1;
			printf ("%d",s);
			for (int i=m;i<pos.size();i++) printf (" %d",pos[i]);
			printf (" %d\n",i); fflush(stdout);

			int c; scanf ("%d",&c);
			if (c == s) r = m;
			else l = m;
		}
		col[i] = col[pos[l]];
	}

	printf ("0");
	for (int i=1;i<=N;i++) printf (" %d",col[i]); puts(""); fflush(stdout);

	return 0;
}

Compilation message

carnival.cpp: In function 'int main()':
carnival.cpp:30:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for (int i=m;i<pos.size();i++) printf (" %d",pos[i]);
                  ^
carnival.cpp:25:30: warning: unused variable 'a' [-Wunused-variable]
   int l = 0, r = pos.size(), a = pos.size();
                              ^
carnival.cpp:10:24: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  int N; scanf ("%d",&N);
                        ^
carnival.cpp:14:21: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf ("%d",num+i);
                     ^
carnival.cpp:33:26: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    int c; scanf ("%d",&c);
                          ^
# Verdict Execution time Memory Grader output
1 Correct 3 ms 1172 KB Output is correct
2 Correct 6 ms 1172 KB Output is correct
3 Correct 6 ms 1172 KB Output is correct
4 Correct 3 ms 1172 KB Output is correct
5 Correct 3 ms 1172 KB Output is correct
6 Correct 0 ms 1172 KB Output is correct
7 Correct 6 ms 1172 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 1172 KB Output is correct
2 Correct 3 ms 1172 KB Output is correct
3 Correct 0 ms 1172 KB Output is correct
4 Correct 3 ms 1172 KB Output is correct
5 Correct 9 ms 1172 KB Output is correct
6 Correct 3 ms 1172 KB Output is correct
7 Correct 6 ms 1172 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 1172 KB Output is correct
2 Correct 6 ms 1172 KB Output is correct
3 Correct 3 ms 1172 KB Output is correct
4 Correct 3 ms 1172 KB Output is correct
5 Correct 0 ms 1172 KB Output is correct
6 Correct 6 ms 1172 KB Output is correct
7 Correct 3 ms 1172 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 1172 KB Output is correct
2 Correct 0 ms 1172 KB Output is correct
3 Correct 3 ms 1172 KB Output is correct
4 Correct 3 ms 1172 KB Output is correct
5 Correct 3 ms 1172 KB Output is correct
6 Correct 0 ms 1172 KB Output is correct
7 Correct 6 ms 1172 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 1172 KB Output is correct
2 Correct 6 ms 1172 KB Output is correct
3 Correct 3 ms 1172 KB Output is correct
4 Correct 3 ms 1172 KB Output is correct
5 Correct 0 ms 1172 KB Output is correct
6 Correct 3 ms 1172 KB Output is correct
7 Correct 0 ms 1172 KB Output is correct