이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <stdio.h>
#define MAXN 10010001
int S1[MAXN], S2[MAXN], S1p, S2p;
int X, L, N;
int main() {
int Q;
scanf("%d", &Q);
for(int i=0; i<Q; i++) {
scanf("%d %d %d", &X, &L, &N);
int cnt = X;
S1p=S1p=0;
while(cnt>0) {
S2[++S2p] = S1[S1p];
S1p--;
if(S1p<0) S1p=0;
for(int i=1; i<=S1p; i++) {
if(S1[i]%2==0) S1[i]++;
else S1[i]--;
}
// printf("[1] ");for(int i=1; i<=S1p; i++) printf("[%2d] ", S1[i]); printf("\n");
// printf("[2] ");for(int i=1; i<=S2p; i++) printf("[%2d] ", S2[i]); printf("\n");printf("\n");
if(S2[S2p] > L) {
cnt--;
if(cnt==0) {
printf("%d\n", S2[S2p]);
break;
}
// printf("\n-------[%d]--------\n", cnt);
}else{
// S2[0] = S2[S2p]; S2p=0;
S2[S2p] += 2*N;
S1[++S1p] = S2[S2p];
S1[++S1p] = S2[S2p];
S2p--;S2p--;
if(S2p<0) S2p=0;
}
// printf("[1] ");for(int i=1; i<=S1p; i++) printf("[%2d] ", S1[i]); printf("\n");
// printf("[2] ");for(int i=1; i<=S2p; i++) printf("[%2d] ", S2[i]); printf("\n");printf("\n");
}
}
}
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |