답안 #110737

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
110737 2019-05-12T07:12:44 Z ckodser 케이크 (CEOI14_cake) C++14
0 / 100
2000 ms 6864 KB
#include<bits/stdc++.h>

#define ll long long
#define pb push_back
#define mp make_pair
#define ld long double
#define F first
#define S second
#define pii pair<ll,ll> 

using namespace :: std;

const ll mod=1e9+7;
const ll maxn=5e5+500;
const ll inf=1e9+900;
const ll sq=10;


ll p[maxn];
ll n,a;

ll find_max(ll e){
    ll l=e;
    ll r=a;
    if(r<l){
	swap(l,r);
    }
    ll ans=0;
    for(ll i=l;i<=r;i++){
	if(i!=a){
	    ans=max(ans,p[i]);
	}
    }
    return ans;
}
ll find_first_high(ll x,ll f){
    for(ll i=a+f;;i+=f){
	if(p[i]>x)return i;
    }
    return 0;
}
void update(ll x,ll v){
    vector<ll> vec;
    for(ll i=1;i<=n;i++){
	vec.pb(p[i]);
    }
    sort(vec.begin(),vec.end());
    ll b=vec[vec.size()-v];
    p[x]=b+1;
    
    for(ll i=1;i<=n;i++){
	if(p[i]>b && i!=x){
	    p[i]++;
	}
    }
}
int main(){
    cin>>n>>a;
    p[0]=inf;
    p[n+1]=inf;
    for(ll i=1;i<=n;i++){
	cin>>p[i];
    }	
    ll q;
    cin>>q;
    for(ll i=0;i<q;i++){
	char c;
	cin>>c;
	if(c=='F'){
	    ll e;
	    cin>>e;
	    ll mi=find_max(e);
	    ll o;
	    if(e==a){
		cout<<0<<endl;
		continue;
	    }	
	    if(e<a){
		o=find_first_high(mi,1);
	    }else{
		o=find_first_high(mi,-1);
	    }
	    cout<<abs(o-e)-1<<endl;
	}else{
	    ll x,v;
	    cin>>x>>v;
	    update(x,v);
	}
    }

}
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 384 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 4 ms 256 KB Output is correct
4 Correct 139 ms 384 KB Output is correct
5 Execution timed out 2055 ms 1036 KB Time limit exceeded
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2050 ms 1044 KB Time limit exceeded
2 Execution timed out 2044 ms 828 KB Time limit exceeded
3 Execution timed out 2062 ms 940 KB Time limit exceeded
4 Execution timed out 2053 ms 756 KB Time limit exceeded
5 Execution timed out 2054 ms 1228 KB Time limit exceeded
6 Execution timed out 2041 ms 1560 KB Time limit exceeded
7 Execution timed out 2064 ms 1252 KB Time limit exceeded
8 Execution timed out 2060 ms 1308 KB Time limit exceeded
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2059 ms 3400 KB Time limit exceeded
2 Execution timed out 2064 ms 3488 KB Time limit exceeded
3 Execution timed out 2043 ms 3428 KB Time limit exceeded
4 Correct 2 ms 256 KB Output is correct
5 Execution timed out 2051 ms 6596 KB Time limit exceeded
6 Execution timed out 2062 ms 6672 KB Time limit exceeded
7 Execution timed out 2039 ms 6864 KB Time limit exceeded
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2066 ms 632 KB Time limit exceeded
2 Execution timed out 2048 ms 780 KB Time limit exceeded
3 Execution timed out 2039 ms 1932 KB Time limit exceeded
4 Execution timed out 2033 ms 1996 KB Time limit exceeded
5 Execution timed out 2045 ms 760 KB Time limit exceeded
6 Execution timed out 2045 ms 2920 KB Time limit exceeded
7 Execution timed out 2041 ms 800 KB Time limit exceeded
8 Execution timed out 2045 ms 3296 KB Time limit exceeded
9 Execution timed out 2045 ms 6612 KB Time limit exceeded
10 Execution timed out 2040 ms 760 KB Time limit exceeded
11 Execution timed out 2060 ms 1276 KB Time limit exceeded
12 Execution timed out 2044 ms 5768 KB Time limit exceeded
13 Execution timed out 2039 ms 6804 KB Time limit exceeded