Submission #255994

# Submission time Handle Problem Language Result Execution time Memory
255994 2020-08-02T07:38:31 Z 최은수(#5029) Colors (BOI20_colors) C++17
9 / 100
1 ms 384 KB
#include<iostream>
#include<vector>
#include<set>
#include<algorithm>
#define ep emplace
#define eb emplace_back
#define fi first
#define se second
#define all(x) (x).begin(),(x).end()
using namespace std;
typedef long long ll;
typedef pair<int,int>pi;
typedef pair<ll,ll>pl;
const int inf=1e9+7;
const ll INF=1e18+7;
inline int query(ll x)
{
    cout<<"? "<<x<<endl;
    int r;
    cin>>r;
    return r;
}
inline void answer(ll x)
{
    cout<<"= "<<x<<endl;
    return;
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    ll n;
    cin>>n;
    if(n<=64)
    {
        query(1);
        int cp=1;
        int cs=1;
        for(int i=n;i-->1;)
        {
            cp+=cs*i;
            cs*=-1;
            int r=query(cp);
            if(r==0)
            {
                answer(i+1);
                return 0;
            }
        }
        answer(1);
        return 0;
    }
    ll s=1,e=n;
    ll mx=1ll<<(__builtin_clzll(n));
    vector<ll>dv;
    {
        ll dif=1;
        ll cur=n-1;
        while(cur>0)
            dv.eb(cur),cur-=dif,dif*=2;
    }
    ll sign=1;
    ll cur=1;
    for(ll&t:dv)
        cur+=t*sign,sign*=-1;
    query(cur);
    s=1-(mx-n),e=n;
    while(s<e)
    {
        ll m=s+(e-s)/2;
        int res;
        if(m>0)
            cur+=m*sign,sign*=-1,res=query(cur);
        else
            res=0;
        if(res==1)
            e=m,query(cur+=((m+1)+(e-(m+1)+1)/2-1)-(s+(m-s+1)/2-1));
        else
            s=m+1;
    }
    answer(s);
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 384 KB OK (5 queries)
2 Correct 0 ms 384 KB OK (6 queries)
3 Correct 1 ms 384 KB OK (10 queries)
4 Correct 1 ms 384 KB OK (26 queries)
5 Correct 1 ms 384 KB OK (13 queries)
6 Correct 1 ms 256 KB OK (26 queries)
7 Correct 0 ms 384 KB OK (17 queries)
8 Correct 0 ms 384 KB OK (7 queries)
9 Correct 0 ms 384 KB OK (9 queries)
10 Correct 1 ms 384 KB OK (11 queries)
11 Correct 1 ms 384 KB OK (4 queries)
12 Correct 0 ms 384 KB OK (5 queries)
13 Correct 0 ms 384 KB OK (11 queries)
14 Correct 0 ms 384 KB OK (16 queries)
15 Correct 0 ms 384 KB OK (11 queries)
16 Correct 1 ms 384 KB OK (34 queries)
17 Correct 0 ms 384 KB OK (2 queries)
18 Correct 0 ms 384 KB OK (16 queries)
19 Correct 0 ms 384 KB OK (3 queries)
20 Correct 1 ms 384 KB OK (31 queries)
21 Correct 0 ms 384 KB OK (9 queries)
22 Correct 0 ms 384 KB OK (2 queries)
23 Correct 1 ms 384 KB OK (2 queries)
24 Correct 1 ms 384 KB OK (2 queries)
25 Correct 0 ms 384 KB OK (3 queries)
26 Correct 0 ms 384 KB OK (3 queries)
27 Correct 0 ms 384 KB OK (2 queries)
28 Correct 1 ms 384 KB OK (3 queries)
29 Correct 1 ms 384 KB OK (4 queries)
30 Correct 0 ms 384 KB OK (4 queries)
31 Correct 0 ms 384 KB OK (2 queries)
32 Correct 0 ms 384 KB OK (3 queries)
33 Correct 0 ms 384 KB OK (4 queries)
34 Correct 1 ms 384 KB OK (5 queries)
35 Correct 0 ms 384 KB OK (5 queries)
36 Correct 0 ms 384 KB OK (2 queries)
37 Correct 0 ms 384 KB OK (3 queries)
38 Correct 0 ms 384 KB OK (4 queries)
39 Correct 0 ms 384 KB OK (5 queries)
40 Correct 0 ms 384 KB OK (6 queries)
41 Correct 1 ms 384 KB OK (6 queries)
42 Correct 0 ms 384 KB OK (2 queries)
43 Correct 0 ms 384 KB OK (3 queries)
44 Correct 0 ms 384 KB OK (4 queries)
45 Correct 0 ms 384 KB OK (5 queries)
46 Correct 0 ms 384 KB OK (6 queries)
47 Correct 0 ms 384 KB OK (7 queries)
48 Correct 0 ms 384 KB OK (7 queries)
49 Correct 0 ms 384 KB OK (2 queries)
50 Correct 0 ms 384 KB OK (3 queries)
51 Correct 0 ms 384 KB OK (4 queries)
52 Correct 0 ms 384 KB OK (5 queries)
53 Correct 1 ms 384 KB OK (6 queries)
54 Correct 0 ms 384 KB OK (7 queries)
55 Correct 0 ms 384 KB OK (8 queries)
56 Correct 0 ms 384 KB OK (8 queries)
57 Correct 1 ms 384 KB OK (3 queries)
58 Correct 0 ms 384 KB OK (2 queries)
59 Correct 0 ms 384 KB OK (3 queries)
60 Correct 0 ms 384 KB OK (2 queries)
61 Correct 1 ms 384 KB OK (63 queries)
62 Correct 0 ms 384 KB OK (2 queries)
63 Correct 1 ms 384 KB OK (63 queries)
64 Correct 1 ms 384 KB OK (3 queries)
65 Correct 1 ms 384 KB OK (62 queries)
66 Correct 0 ms 384 KB OK (4 queries)
67 Correct 1 ms 384 KB OK (61 queries)
68 Correct 0 ms 384 KB OK (5 queries)
69 Correct 1 ms 384 KB OK (60 queries)
70 Correct 1 ms 384 KB OK (6 queries)
# Verdict Execution time Memory Grader output
1 Correct 0 ms 384 KB OK (5 queries)
2 Correct 0 ms 384 KB OK (6 queries)
3 Correct 1 ms 384 KB OK (10 queries)
4 Correct 1 ms 384 KB OK (26 queries)
5 Correct 1 ms 384 KB OK (13 queries)
6 Correct 1 ms 256 KB OK (26 queries)
7 Correct 0 ms 384 KB OK (17 queries)
8 Correct 0 ms 384 KB OK (7 queries)
9 Correct 0 ms 384 KB OK (9 queries)
10 Correct 1 ms 384 KB OK (11 queries)
11 Correct 1 ms 384 KB OK (4 queries)
12 Correct 0 ms 384 KB OK (5 queries)
13 Correct 0 ms 384 KB OK (11 queries)
14 Correct 0 ms 384 KB OK (16 queries)
15 Correct 0 ms 384 KB OK (11 queries)
16 Correct 1 ms 384 KB OK (34 queries)
17 Correct 0 ms 384 KB OK (2 queries)
18 Correct 0 ms 384 KB OK (16 queries)
19 Correct 0 ms 384 KB OK (3 queries)
20 Correct 1 ms 384 KB OK (31 queries)
21 Correct 0 ms 384 KB OK (9 queries)
22 Correct 0 ms 384 KB OK (2 queries)
23 Correct 1 ms 384 KB OK (2 queries)
24 Correct 1 ms 384 KB OK (2 queries)
25 Correct 0 ms 384 KB OK (3 queries)
26 Correct 0 ms 384 KB OK (3 queries)
27 Correct 0 ms 384 KB OK (2 queries)
28 Correct 1 ms 384 KB OK (3 queries)
29 Correct 1 ms 384 KB OK (4 queries)
30 Correct 0 ms 384 KB OK (4 queries)
31 Correct 0 ms 384 KB OK (2 queries)
32 Correct 0 ms 384 KB OK (3 queries)
33 Correct 0 ms 384 KB OK (4 queries)
34 Correct 1 ms 384 KB OK (5 queries)
35 Correct 0 ms 384 KB OK (5 queries)
36 Correct 0 ms 384 KB OK (2 queries)
37 Correct 0 ms 384 KB OK (3 queries)
38 Correct 0 ms 384 KB OK (4 queries)
39 Correct 0 ms 384 KB OK (5 queries)
40 Correct 0 ms 384 KB OK (6 queries)
41 Correct 1 ms 384 KB OK (6 queries)
42 Correct 0 ms 384 KB OK (2 queries)
43 Correct 0 ms 384 KB OK (3 queries)
44 Correct 0 ms 384 KB OK (4 queries)
45 Correct 0 ms 384 KB OK (5 queries)
46 Correct 0 ms 384 KB OK (6 queries)
47 Correct 0 ms 384 KB OK (7 queries)
48 Correct 0 ms 384 KB OK (7 queries)
49 Correct 0 ms 384 KB OK (2 queries)
50 Correct 0 ms 384 KB OK (3 queries)
51 Correct 0 ms 384 KB OK (4 queries)
52 Correct 0 ms 384 KB OK (5 queries)
53 Correct 1 ms 384 KB OK (6 queries)
54 Correct 0 ms 384 KB OK (7 queries)
55 Correct 0 ms 384 KB OK (8 queries)
56 Correct 0 ms 384 KB OK (8 queries)
57 Correct 1 ms 384 KB OK (3 queries)
58 Correct 0 ms 384 KB OK (2 queries)
59 Correct 0 ms 384 KB OK (3 queries)
60 Correct 0 ms 384 KB OK (2 queries)
61 Correct 1 ms 384 KB OK (63 queries)
62 Correct 0 ms 384 KB OK (2 queries)
63 Correct 1 ms 384 KB OK (63 queries)
64 Correct 1 ms 384 KB OK (3 queries)
65 Correct 1 ms 384 KB OK (62 queries)
66 Correct 0 ms 384 KB OK (4 queries)
67 Correct 1 ms 384 KB OK (61 queries)
68 Correct 0 ms 384 KB OK (5 queries)
69 Correct 1 ms 384 KB OK (60 queries)
70 Correct 1 ms 384 KB OK (6 queries)
71 Incorrect 0 ms 384 KB Hair color 81 was used multiple times
72 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 384 KB OK (5 queries)
2 Correct 0 ms 384 KB OK (6 queries)
3 Correct 1 ms 384 KB OK (10 queries)
4 Correct 1 ms 384 KB OK (26 queries)
5 Correct 1 ms 384 KB OK (13 queries)
6 Correct 1 ms 256 KB OK (26 queries)
7 Correct 0 ms 384 KB OK (17 queries)
8 Correct 0 ms 384 KB OK (7 queries)
9 Correct 0 ms 384 KB OK (9 queries)
10 Correct 1 ms 384 KB OK (11 queries)
11 Correct 1 ms 384 KB OK (4 queries)
12 Correct 0 ms 384 KB OK (5 queries)
13 Correct 0 ms 384 KB OK (11 queries)
14 Correct 0 ms 384 KB OK (16 queries)
15 Correct 0 ms 384 KB OK (11 queries)
16 Correct 1 ms 384 KB OK (34 queries)
17 Correct 0 ms 384 KB OK (2 queries)
18 Correct 0 ms 384 KB OK (16 queries)
19 Correct 0 ms 384 KB OK (3 queries)
20 Correct 1 ms 384 KB OK (31 queries)
21 Correct 0 ms 384 KB OK (9 queries)
22 Correct 0 ms 384 KB OK (2 queries)
23 Correct 1 ms 384 KB OK (2 queries)
24 Correct 1 ms 384 KB OK (2 queries)
25 Correct 0 ms 384 KB OK (3 queries)
26 Correct 0 ms 384 KB OK (3 queries)
27 Correct 0 ms 384 KB OK (2 queries)
28 Correct 1 ms 384 KB OK (3 queries)
29 Correct 1 ms 384 KB OK (4 queries)
30 Correct 0 ms 384 KB OK (4 queries)
31 Correct 0 ms 384 KB OK (2 queries)
32 Correct 0 ms 384 KB OK (3 queries)
33 Correct 0 ms 384 KB OK (4 queries)
34 Correct 1 ms 384 KB OK (5 queries)
35 Correct 0 ms 384 KB OK (5 queries)
36 Correct 0 ms 384 KB OK (2 queries)
37 Correct 0 ms 384 KB OK (3 queries)
38 Correct 0 ms 384 KB OK (4 queries)
39 Correct 0 ms 384 KB OK (5 queries)
40 Correct 0 ms 384 KB OK (6 queries)
41 Correct 1 ms 384 KB OK (6 queries)
42 Correct 0 ms 384 KB OK (2 queries)
43 Correct 0 ms 384 KB OK (3 queries)
44 Correct 0 ms 384 KB OK (4 queries)
45 Correct 0 ms 384 KB OK (5 queries)
46 Correct 0 ms 384 KB OK (6 queries)
47 Correct 0 ms 384 KB OK (7 queries)
48 Correct 0 ms 384 KB OK (7 queries)
49 Correct 0 ms 384 KB OK (2 queries)
50 Correct 0 ms 384 KB OK (3 queries)
51 Correct 0 ms 384 KB OK (4 queries)
52 Correct 0 ms 384 KB OK (5 queries)
53 Correct 1 ms 384 KB OK (6 queries)
54 Correct 0 ms 384 KB OK (7 queries)
55 Correct 0 ms 384 KB OK (8 queries)
56 Correct 0 ms 384 KB OK (8 queries)
57 Correct 1 ms 384 KB OK (3 queries)
58 Correct 0 ms 384 KB OK (2 queries)
59 Correct 0 ms 384 KB OK (3 queries)
60 Correct 0 ms 384 KB OK (2 queries)
61 Correct 1 ms 384 KB OK (63 queries)
62 Correct 0 ms 384 KB OK (2 queries)
63 Correct 1 ms 384 KB OK (63 queries)
64 Correct 1 ms 384 KB OK (3 queries)
65 Correct 1 ms 384 KB OK (62 queries)
66 Correct 0 ms 384 KB OK (4 queries)
67 Correct 1 ms 384 KB OK (61 queries)
68 Correct 0 ms 384 KB OK (5 queries)
69 Correct 1 ms 384 KB OK (60 queries)
70 Correct 1 ms 384 KB OK (6 queries)
71 Incorrect 0 ms 384 KB Hair color 81 was used multiple times
72 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 384 KB OK (5 queries)
2 Correct 0 ms 384 KB OK (6 queries)
3 Correct 1 ms 384 KB OK (10 queries)
4 Correct 1 ms 384 KB OK (26 queries)
5 Correct 1 ms 384 KB OK (13 queries)
6 Correct 1 ms 256 KB OK (26 queries)
7 Correct 0 ms 384 KB OK (17 queries)
8 Correct 0 ms 384 KB OK (7 queries)
9 Correct 0 ms 384 KB OK (9 queries)
10 Correct 1 ms 384 KB OK (11 queries)
11 Correct 1 ms 384 KB OK (4 queries)
12 Correct 0 ms 384 KB OK (5 queries)
13 Correct 0 ms 384 KB OK (11 queries)
14 Correct 0 ms 384 KB OK (16 queries)
15 Correct 0 ms 384 KB OK (11 queries)
16 Correct 1 ms 384 KB OK (34 queries)
17 Correct 0 ms 384 KB OK (2 queries)
18 Correct 0 ms 384 KB OK (16 queries)
19 Correct 0 ms 384 KB OK (3 queries)
20 Correct 1 ms 384 KB OK (31 queries)
21 Correct 0 ms 384 KB OK (9 queries)
22 Correct 0 ms 384 KB OK (2 queries)
23 Correct 1 ms 384 KB OK (2 queries)
24 Correct 1 ms 384 KB OK (2 queries)
25 Correct 0 ms 384 KB OK (3 queries)
26 Correct 0 ms 384 KB OK (3 queries)
27 Correct 0 ms 384 KB OK (2 queries)
28 Correct 1 ms 384 KB OK (3 queries)
29 Correct 1 ms 384 KB OK (4 queries)
30 Correct 0 ms 384 KB OK (4 queries)
31 Correct 0 ms 384 KB OK (2 queries)
32 Correct 0 ms 384 KB OK (3 queries)
33 Correct 0 ms 384 KB OK (4 queries)
34 Correct 1 ms 384 KB OK (5 queries)
35 Correct 0 ms 384 KB OK (5 queries)
36 Correct 0 ms 384 KB OK (2 queries)
37 Correct 0 ms 384 KB OK (3 queries)
38 Correct 0 ms 384 KB OK (4 queries)
39 Correct 0 ms 384 KB OK (5 queries)
40 Correct 0 ms 384 KB OK (6 queries)
41 Correct 1 ms 384 KB OK (6 queries)
42 Correct 0 ms 384 KB OK (2 queries)
43 Correct 0 ms 384 KB OK (3 queries)
44 Correct 0 ms 384 KB OK (4 queries)
45 Correct 0 ms 384 KB OK (5 queries)
46 Correct 0 ms 384 KB OK (6 queries)
47 Correct 0 ms 384 KB OK (7 queries)
48 Correct 0 ms 384 KB OK (7 queries)
49 Correct 0 ms 384 KB OK (2 queries)
50 Correct 0 ms 384 KB OK (3 queries)
51 Correct 0 ms 384 KB OK (4 queries)
52 Correct 0 ms 384 KB OK (5 queries)
53 Correct 1 ms 384 KB OK (6 queries)
54 Correct 0 ms 384 KB OK (7 queries)
55 Correct 0 ms 384 KB OK (8 queries)
56 Correct 0 ms 384 KB OK (8 queries)
57 Correct 1 ms 384 KB OK (3 queries)
58 Correct 0 ms 384 KB OK (2 queries)
59 Correct 0 ms 384 KB OK (3 queries)
60 Correct 0 ms 384 KB OK (2 queries)
61 Correct 1 ms 384 KB OK (63 queries)
62 Correct 0 ms 384 KB OK (2 queries)
63 Correct 1 ms 384 KB OK (63 queries)
64 Correct 1 ms 384 KB OK (3 queries)
65 Correct 1 ms 384 KB OK (62 queries)
66 Correct 0 ms 384 KB OK (4 queries)
67 Correct 1 ms 384 KB OK (61 queries)
68 Correct 0 ms 384 KB OK (5 queries)
69 Correct 1 ms 384 KB OK (60 queries)
70 Correct 1 ms 384 KB OK (6 queries)
71 Incorrect 0 ms 384 KB Hair color 81 was used multiple times
72 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 384 KB OK (5 queries)
2 Correct 0 ms 384 KB OK (6 queries)
3 Correct 1 ms 384 KB OK (10 queries)
4 Correct 1 ms 384 KB OK (26 queries)
5 Correct 1 ms 384 KB OK (13 queries)
6 Correct 1 ms 256 KB OK (26 queries)
7 Correct 0 ms 384 KB OK (17 queries)
8 Correct 0 ms 384 KB OK (7 queries)
9 Correct 0 ms 384 KB OK (9 queries)
10 Correct 1 ms 384 KB OK (11 queries)
11 Correct 1 ms 384 KB OK (4 queries)
12 Correct 0 ms 384 KB OK (5 queries)
13 Correct 0 ms 384 KB OK (11 queries)
14 Correct 0 ms 384 KB OK (16 queries)
15 Correct 0 ms 384 KB OK (11 queries)
16 Correct 1 ms 384 KB OK (34 queries)
17 Correct 0 ms 384 KB OK (2 queries)
18 Correct 0 ms 384 KB OK (16 queries)
19 Correct 0 ms 384 KB OK (3 queries)
20 Correct 1 ms 384 KB OK (31 queries)
21 Correct 0 ms 384 KB OK (9 queries)
22 Correct 0 ms 384 KB OK (2 queries)
23 Correct 1 ms 384 KB OK (2 queries)
24 Correct 1 ms 384 KB OK (2 queries)
25 Correct 0 ms 384 KB OK (3 queries)
26 Correct 0 ms 384 KB OK (3 queries)
27 Correct 0 ms 384 KB OK (2 queries)
28 Correct 1 ms 384 KB OK (3 queries)
29 Correct 1 ms 384 KB OK (4 queries)
30 Correct 0 ms 384 KB OK (4 queries)
31 Correct 0 ms 384 KB OK (2 queries)
32 Correct 0 ms 384 KB OK (3 queries)
33 Correct 0 ms 384 KB OK (4 queries)
34 Correct 1 ms 384 KB OK (5 queries)
35 Correct 0 ms 384 KB OK (5 queries)
36 Correct 0 ms 384 KB OK (2 queries)
37 Correct 0 ms 384 KB OK (3 queries)
38 Correct 0 ms 384 KB OK (4 queries)
39 Correct 0 ms 384 KB OK (5 queries)
40 Correct 0 ms 384 KB OK (6 queries)
41 Correct 1 ms 384 KB OK (6 queries)
42 Correct 0 ms 384 KB OK (2 queries)
43 Correct 0 ms 384 KB OK (3 queries)
44 Correct 0 ms 384 KB OK (4 queries)
45 Correct 0 ms 384 KB OK (5 queries)
46 Correct 0 ms 384 KB OK (6 queries)
47 Correct 0 ms 384 KB OK (7 queries)
48 Correct 0 ms 384 KB OK (7 queries)
49 Correct 0 ms 384 KB OK (2 queries)
50 Correct 0 ms 384 KB OK (3 queries)
51 Correct 0 ms 384 KB OK (4 queries)
52 Correct 0 ms 384 KB OK (5 queries)
53 Correct 1 ms 384 KB OK (6 queries)
54 Correct 0 ms 384 KB OK (7 queries)
55 Correct 0 ms 384 KB OK (8 queries)
56 Correct 0 ms 384 KB OK (8 queries)
57 Correct 1 ms 384 KB OK (3 queries)
58 Correct 0 ms 384 KB OK (2 queries)
59 Correct 0 ms 384 KB OK (3 queries)
60 Correct 0 ms 384 KB OK (2 queries)
61 Correct 1 ms 384 KB OK (63 queries)
62 Correct 0 ms 384 KB OK (2 queries)
63 Correct 1 ms 384 KB OK (63 queries)
64 Correct 1 ms 384 KB OK (3 queries)
65 Correct 1 ms 384 KB OK (62 queries)
66 Correct 0 ms 384 KB OK (4 queries)
67 Correct 1 ms 384 KB OK (61 queries)
68 Correct 0 ms 384 KB OK (5 queries)
69 Correct 1 ms 384 KB OK (60 queries)
70 Correct 1 ms 384 KB OK (6 queries)
71 Incorrect 0 ms 384 KB Hair color 81 was used multiple times
72 Halted 0 ms 0 KB -