Submission #932880

# Submission time Handle Problem Language Result Execution time Memory
932880 2024-02-24T10:41:36 Z De3b0o Mađioničar (COI22_madionicar) C++14
13 / 100
1240 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 mid = (l+r)/2;
        ll x = 2*mid+1;
        if(x<=0||x<=ans)
        {
            l=mid+1;
            continue;
        }
        if(x>n)
        {
            r=mid-1;
            continue;
        }
        bool ex = 0;
        //cout << x << " " << mid << "\n";
        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 mid = (l+r)/2;
        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 577 ms 344 KB Output is correct
2 Correct 750 ms 344 KB Output is correct
3 Correct 754 ms 344 KB Output is correct
4 Correct 585 ms 344 KB Output is correct
5 Correct 738 ms 344 KB Output is correct
6 Correct 448 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 302 ms 344 KB Output is correct
10 Correct 763 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 577 ms 344 KB Output is correct
2 Correct 750 ms 344 KB Output is correct
3 Correct 754 ms 344 KB Output is correct
4 Correct 585 ms 344 KB Output is correct
5 Correct 738 ms 344 KB Output is correct
6 Correct 448 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 302 ms 344 KB Output is correct
10 Correct 763 ms 344 KB Output is correct
11 Runtime error 1018 ms 412 KB Execution killed with signal 13
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 1240 ms 412 KB Execution killed with signal 13
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 577 ms 344 KB Output is correct
2 Correct 750 ms 344 KB Output is correct
3 Correct 754 ms 344 KB Output is correct
4 Correct 585 ms 344 KB Output is correct
5 Correct 738 ms 344 KB Output is correct
6 Correct 448 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 302 ms 344 KB Output is correct
10 Correct 763 ms 344 KB Output is correct
11 Runtime error 1018 ms 412 KB Execution killed with signal 13
12 Halted 0 ms 0 KB -