Submission #932883

# Submission time Handle Problem Language Result Execution time Memory
932883 2024-02-24T10:44:46 Z De3b0o Mađioničar (COI22_madionicar) C++14
13 / 100
1060 ms 412 KB
#include<bits/stdc++.h>
#define ll long long
#define F first
#define S second
#define in insert
#define er erase
#define pb push_back
#define ppb pop_back()
#define ph push
#define pp pop()
#define d3 ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define cans cout << ans << "\n";
#define yes cout << "YES" << "\n";
#define no cout << "NO" << "\n";
#define pll pair<ll,ll>
#define lin cout << "\n";
#define sqr 340
#define mod 1000000007
#define mid ((l+r)/2)

using namespace std;

ll fp(ll x , ll y)
{
    if(y==0)
        return 1;
    ll z = fp(x,y/2);
    if(y&1)
        return z*z*x;
    else
        return z*z;
}

int sqrot(ll x)
{
    int l = 0 , r = INT_MAX;
    while(l<=r)
    {
        if(mid*mid>=x)
            r=mid-1;
        else
            l=mid+1;
    }
    return r+1;
}

ll cel(ll x , ll y)
{
    return x/y + bool(x/y);
}

string tb(ll x)
{
    string s = "";
    while(x>0)
    {
        if(x&1)
            s+='1';
        else
            s+='0';
        x/=2;
    }
    while(s.size()<60)
        s+='0';
    return s;
}

ll fb(string s)
{
    ll x = 0;
    ll c = 1;
    for(int8_t i = 0 ; 60>i ; i++)
    {
        if(s[i]=='1')
            x+=c;
        c*=2;
    }
    return x;
}

int main()
{
    ll n;
    cin >> n;
    ll l = 0 , r = n;
    ll ans = 1;
    while(l<=r)
    {
        ll x = 2*mid+1;
        if(x<=0||x<=ans)
        {
            l=mid+1;
            continue;
        }
        if(x>n)
        {
            r=mid-1;
            continue;
        }
        bool ex = 0;
        for(int i = 1 ; n-x+1>=i ; i++)
        {
            cout << "? " << i << " " << i+x-1 << "\n";
            bool e;
            cin >> e;
            if(e)
            {
                ex=1;
                break;
            }
        }
        if(ex)
        {
            l=mid+1;
            ans=max(ans,x);
        }
        else
            r=mid-1;
    }
    l = 0 , r = n;
    while(l<=r)
    {
        ll x = 2*mid;
        if(x<=0||x<=ans)
        {
            l=mid+1;
            continue;
        }
        if(x>n)
        {
            r=mid-1;
            continue;
        }
        bool ex = 0;
        for(int i = 1 ; n-x+1>=i ; i++)
        {
            cout << "? " << i << " " << i+x-1 << "\n";
            bool e;
            cin >> e;
            if(e)
            {
                ex=1;
                break;
            }
        }
        if(ex)
        {
            l=mid+1;
            ans=max(ans,x);
        }
        else
            r=mid-1;
    }
    cout << "! " << ans << "\n";
}
# Verdict Execution time Memory Grader output
1 Correct 557 ms 344 KB Output is correct
2 Correct 686 ms 344 KB Output is correct
3 Correct 790 ms 344 KB Output is correct
4 Correct 620 ms 340 KB Output is correct
5 Correct 710 ms 344 KB Output is correct
6 Correct 387 ms 344 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 1 ms 344 KB Output is correct
9 Correct 278 ms 344 KB Output is correct
10 Correct 679 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 557 ms 344 KB Output is correct
2 Correct 686 ms 344 KB Output is correct
3 Correct 790 ms 344 KB Output is correct
4 Correct 620 ms 340 KB Output is correct
5 Correct 710 ms 344 KB Output is correct
6 Correct 387 ms 344 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 1 ms 344 KB Output is correct
9 Correct 278 ms 344 KB Output is correct
10 Correct 679 ms 344 KB Output is correct
11 Runtime error 987 ms 412 KB Execution killed with signal 13
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 1060 ms 408 KB Execution killed with signal 13
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 557 ms 344 KB Output is correct
2 Correct 686 ms 344 KB Output is correct
3 Correct 790 ms 344 KB Output is correct
4 Correct 620 ms 340 KB Output is correct
5 Correct 710 ms 344 KB Output is correct
6 Correct 387 ms 344 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 1 ms 344 KB Output is correct
9 Correct 278 ms 344 KB Output is correct
10 Correct 679 ms 344 KB Output is correct
11 Runtime error 987 ms 412 KB Execution killed with signal 13
12 Halted 0 ms 0 KB -