Submission #613617

#TimeUsernameProblemLanguageResultExecution timeMemory
613617andrei_boacaCake (CEOI14_cake)C++14
15 / 100
2092 ms5204 KiB
#include <bits/stdc++.h>

using namespace std;
int n,q,a,d[300005];
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cin>>n>>a;
    for(int i=1;i<=n;i++)
        cin>>d[i];
    d[0]=d[n+1]=1e9;
    cin>>q;
    while(q--)
    {
        char c;
        cin>>c;
        if(c=='F')
        {
            int poz;
            cin>>poz;
            if(poz==a)
            {
                cout<<0<<'\n';
                continue;
            }
            int st=a-1;
            int dr=a+1;
            int cnt=1;
            while(true)
            {
                cnt++;
                if(d[st]<d[dr])
                {
                    if(st==poz)
                    {
                        cout<<cnt-1<<'\n';
                        break;
                    }
                    st--;
                }
                else
                {
                    if(dr==poz)
                    {
                        cout<<cnt-1<<'\n';
                        break;
                    }
                    dr++;
                }
            }
        }
        else
        {
            int poz,val;
            cin>>poz>>val;
            val=n-val+1;
            int old=d[poz];
            for(int i=1;i<=n;i++)
            {
                if(i==poz)
                    d[i]=val;
                else
                    if(d[i]<=val&&d[i]>=old)
                        d[i]--;
            }
        }
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...