Submission #126354

# Submission time Handle Problem Language Result Execution time Memory
126354 2019-07-07T13:04:39 Z TadijaSebez Minerals (JOI19_minerals) C++14
85 / 100
79 ms 3504 KB
#include "minerals.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
void Solve(vector<int> l, vector<int> r, int in)
{
	if(l.size()==1)
	{
		Answer(l[0],r[0]);
		return;
	}
	int pre;
	vector<int> L[2],R[2];
	for(int i=0;i<l.size();i++) L[i&1].pb(l[i]);
	for(int i:L[0]) pre=Query(i);
	for(int i:r)
	{
		if(L[0].size()==R[0].size()) R[1].pb(i);
		else if(L[1].size()==R[1].size()) R[0].pb(i);
		else
		{
			int now=Query(i);
			if(now==pre)
			{
				if(in) R[1].pb(i);
				else R[0].pb(i);
			}
			else
			{
				if(in) R[0].pb(i);
				else R[1].pb(i);
			}
			pre=now;
		}
	}
	Solve(L[0],R[0],in^1);
	Solve(L[1],R[1],in);
}
void Solve(int n)
{
	vector<int> l,r;
	int pre=0;
	for(int i=1;i<=n*2;i++)
	{
		int now=Query(i);
		if(now!=pre) l.pb(i);
		else r.pb(i);
		pre=now;
	}
	Solve(l,r,1);
}

Compilation message

minerals.cpp: In function 'void Solve(std::vector<int>, std::vector<int>, int)':
minerals.cpp:14:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<l.size();i++) L[i&1].pb(l[i]);
              ~^~~~~~~~~
minerals.cpp:23:4: warning: 'pre' may be used uninitialized in this function [-Wmaybe-uninitialized]
    if(now==pre)
    ^~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 248 KB Output is correct
2 Correct 2 ms 248 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 248 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 5 ms 376 KB Output is correct
3 Correct 7 ms 504 KB Output is correct
4 Correct 13 ms 888 KB Output is correct
5 Correct 24 ms 1540 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 248 KB Output is correct
2 Correct 2 ms 248 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 248 KB Output is correct
5 Correct 3 ms 376 KB Output is correct
6 Correct 5 ms 376 KB Output is correct
7 Correct 7 ms 504 KB Output is correct
8 Correct 13 ms 888 KB Output is correct
9 Correct 24 ms 1540 KB Output is correct
10 Correct 3 ms 376 KB Output is correct
11 Correct 16 ms 1144 KB Output is correct
12 Correct 23 ms 1456 KB Output is correct
13 Correct 22 ms 1468 KB Output is correct
14 Correct 21 ms 1400 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 248 KB Output is correct
2 Correct 2 ms 248 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 248 KB Output is correct
5 Correct 3 ms 376 KB Output is correct
6 Correct 5 ms 376 KB Output is correct
7 Correct 7 ms 504 KB Output is correct
8 Correct 13 ms 888 KB Output is correct
9 Correct 24 ms 1540 KB Output is correct
10 Correct 3 ms 376 KB Output is correct
11 Correct 16 ms 1144 KB Output is correct
12 Correct 23 ms 1456 KB Output is correct
13 Correct 22 ms 1468 KB Output is correct
14 Correct 21 ms 1400 KB Output is correct
15 Correct 66 ms 3236 KB Output is correct
16 Correct 64 ms 3188 KB Output is correct
17 Correct 67 ms 3120 KB Output is correct
18 Correct 58 ms 3104 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 248 KB Output is correct
2 Correct 2 ms 248 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 248 KB Output is correct
5 Correct 3 ms 376 KB Output is correct
6 Correct 5 ms 376 KB Output is correct
7 Correct 7 ms 504 KB Output is correct
8 Correct 13 ms 888 KB Output is correct
9 Correct 24 ms 1540 KB Output is correct
10 Correct 3 ms 376 KB Output is correct
11 Correct 16 ms 1144 KB Output is correct
12 Correct 23 ms 1456 KB Output is correct
13 Correct 22 ms 1468 KB Output is correct
14 Correct 21 ms 1400 KB Output is correct
15 Correct 66 ms 3236 KB Output is correct
16 Correct 64 ms 3188 KB Output is correct
17 Correct 67 ms 3120 KB Output is correct
18 Correct 58 ms 3104 KB Output is correct
19 Correct 67 ms 3192 KB Output is correct
20 Correct 68 ms 3196 KB Output is correct
21 Correct 63 ms 3216 KB Output is correct
22 Correct 60 ms 3064 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 248 KB Output is correct
2 Correct 2 ms 248 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 248 KB Output is correct
5 Correct 3 ms 376 KB Output is correct
6 Correct 5 ms 376 KB Output is correct
7 Correct 7 ms 504 KB Output is correct
8 Correct 13 ms 888 KB Output is correct
9 Correct 24 ms 1540 KB Output is correct
10 Correct 3 ms 376 KB Output is correct
11 Correct 16 ms 1144 KB Output is correct
12 Correct 23 ms 1456 KB Output is correct
13 Correct 22 ms 1468 KB Output is correct
14 Correct 21 ms 1400 KB Output is correct
15 Correct 66 ms 3236 KB Output is correct
16 Correct 64 ms 3188 KB Output is correct
17 Correct 67 ms 3120 KB Output is correct
18 Correct 58 ms 3104 KB Output is correct
19 Correct 67 ms 3192 KB Output is correct
20 Correct 68 ms 3196 KB Output is correct
21 Correct 63 ms 3216 KB Output is correct
22 Correct 60 ms 3064 KB Output is correct
23 Correct 68 ms 3248 KB Output is correct
24 Correct 73 ms 3312 KB Output is correct
25 Correct 64 ms 3340 KB Output is correct
26 Correct 61 ms 3108 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 248 KB Output is correct
2 Correct 2 ms 248 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 248 KB Output is correct
5 Correct 3 ms 376 KB Output is correct
6 Correct 5 ms 376 KB Output is correct
7 Correct 7 ms 504 KB Output is correct
8 Correct 13 ms 888 KB Output is correct
9 Correct 24 ms 1540 KB Output is correct
10 Correct 3 ms 376 KB Output is correct
11 Correct 16 ms 1144 KB Output is correct
12 Correct 23 ms 1456 KB Output is correct
13 Correct 22 ms 1468 KB Output is correct
14 Correct 21 ms 1400 KB Output is correct
15 Correct 66 ms 3236 KB Output is correct
16 Correct 64 ms 3188 KB Output is correct
17 Correct 67 ms 3120 KB Output is correct
18 Correct 58 ms 3104 KB Output is correct
19 Correct 67 ms 3192 KB Output is correct
20 Correct 68 ms 3196 KB Output is correct
21 Correct 63 ms 3216 KB Output is correct
22 Correct 60 ms 3064 KB Output is correct
23 Correct 68 ms 3248 KB Output is correct
24 Correct 73 ms 3312 KB Output is correct
25 Correct 64 ms 3340 KB Output is correct
26 Correct 61 ms 3108 KB Output is correct
27 Correct 69 ms 3504 KB Output is correct
28 Correct 79 ms 3388 KB Output is correct
29 Correct 68 ms 3460 KB Output is correct
30 Correct 63 ms 3184 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 248 KB Output is correct
2 Correct 2 ms 248 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 248 KB Output is correct
5 Correct 3 ms 376 KB Output is correct
6 Correct 5 ms 376 KB Output is correct
7 Correct 7 ms 504 KB Output is correct
8 Correct 13 ms 888 KB Output is correct
9 Correct 24 ms 1540 KB Output is correct
10 Correct 3 ms 376 KB Output is correct
11 Correct 16 ms 1144 KB Output is correct
12 Correct 23 ms 1456 KB Output is correct
13 Correct 22 ms 1468 KB Output is correct
14 Correct 21 ms 1400 KB Output is correct
15 Correct 66 ms 3236 KB Output is correct
16 Correct 64 ms 3188 KB Output is correct
17 Correct 67 ms 3120 KB Output is correct
18 Correct 58 ms 3104 KB Output is correct
19 Correct 67 ms 3192 KB Output is correct
20 Correct 68 ms 3196 KB Output is correct
21 Correct 63 ms 3216 KB Output is correct
22 Correct 60 ms 3064 KB Output is correct
23 Correct 68 ms 3248 KB Output is correct
24 Correct 73 ms 3312 KB Output is correct
25 Correct 64 ms 3340 KB Output is correct
26 Correct 61 ms 3108 KB Output is correct
27 Correct 69 ms 3504 KB Output is correct
28 Correct 79 ms 3388 KB Output is correct
29 Correct 68 ms 3460 KB Output is correct
30 Correct 63 ms 3184 KB Output is correct
31 Incorrect 71 ms 3456 KB Wrong Answer [2]
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 248 KB Output is correct
2 Correct 2 ms 248 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 248 KB Output is correct
5 Correct 3 ms 376 KB Output is correct
6 Correct 5 ms 376 KB Output is correct
7 Correct 7 ms 504 KB Output is correct
8 Correct 13 ms 888 KB Output is correct
9 Correct 24 ms 1540 KB Output is correct
10 Correct 3 ms 376 KB Output is correct
11 Correct 16 ms 1144 KB Output is correct
12 Correct 23 ms 1456 KB Output is correct
13 Correct 22 ms 1468 KB Output is correct
14 Correct 21 ms 1400 KB Output is correct
15 Correct 66 ms 3236 KB Output is correct
16 Correct 64 ms 3188 KB Output is correct
17 Correct 67 ms 3120 KB Output is correct
18 Correct 58 ms 3104 KB Output is correct
19 Correct 67 ms 3192 KB Output is correct
20 Correct 68 ms 3196 KB Output is correct
21 Correct 63 ms 3216 KB Output is correct
22 Correct 60 ms 3064 KB Output is correct
23 Correct 68 ms 3248 KB Output is correct
24 Correct 73 ms 3312 KB Output is correct
25 Correct 64 ms 3340 KB Output is correct
26 Correct 61 ms 3108 KB Output is correct
27 Correct 69 ms 3504 KB Output is correct
28 Correct 79 ms 3388 KB Output is correct
29 Correct 68 ms 3460 KB Output is correct
30 Correct 63 ms 3184 KB Output is correct
31 Incorrect 71 ms 3456 KB Wrong Answer [2]
32 Halted 0 ms 0 KB -