| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 101418 | errorgorn | 케이크 (CEOI14_cake) | C++14 | 3 ms | 384 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <cstdio>
#include <vector>
#include <utility>
#include <deque>
using namespace std;
typedef pair<int,int> ii;
int n,d,q;
int E,F;
int arr[250005],top[12];
vector<ii> v;
void print(){
for (int x=0;x<n;x++){
printf("%d ",arr[x]);
}
printf("\n");
for (int x=0;x<min(n,10);x++){
printf("%d ",top[x]);
}
printf("\n");
}
int f(int i){
if (d==i) return 0;
else{
int ans=1;
ii a=ii(1000000000,-1), b=ii(1000000000,-1);
if (d!=0) a=ii(arr[d-1],d-1);
if (d!=n-1) b=ii(arr[d+1],d+1);
if (a>b) swap(a,b);
while (a.second!=i){
//printf("%d %d\n",a.second,b.second);
if (a.second<d){
if (a.second!=0) a=ii(arr[a.second-1],a.second-1);
else a=ii(1000000000,-1);
}
else{
if (a.second!=n-1) a=ii(arr[a.second+1],a.second+1);
else a=ii(1000000000,-1);
}
if (a>b) swap(a,b);
ans++;
}
return ans;
}
}
int main(){
freopen("input.txt","r",stdin);
vector<ii>::iterator it;
int a,b;
scanf("%d%d",&n,&d);
d--;
for (int x=0;x<n;x++){
scanf("%d",&arr[x]);
}
scanf("%d",&q);
while (q--){
getchar();
if (getchar()=='E'){
scanf("%d%d",&a,&b);
v.push_back(ii(a-1,b-1));
E++;
}
else{
scanf("%d",&a);
v.push_back(ii(a-1,-1));
F++;
}
}
for (int x=0;x<n;x++){
if (arr[x]>n-10) top[n-arr[x]]=x;
}
int tb=min(n,10);
if (true){
for (it=v.begin();it!=v.end();it++){
if ((*it).second==-1){ //this is F
printf("%d\n",f((*it).first));
}
else{ //this is E
arr[(*it).first]=arr[top[(*it).second]]+1;
for (int x=0;x<(*it).second;x++){
arr[top[x]]++;
}
int _x;
for (_x=(*it).second;_x<n && top[_x]!=(*it).first;_x++){}
for (int x=_x;x>(*it).second;x--){
top[x]=top[x-1];
}
top[(*it).second]=(*it).first;
}
}
}
}
컴파일 시 표준 에러 (stderr) 메시지
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
