Submission #13307

#TimeUsernameProblemLanguageResultExecution timeMemory
13307woqja125Collider (IZhO11_collider)C++98
30 / 100
58 ms9888 KiB
#include<stdio.h> #include<vector> int buk[1001][2001]; int bs[1001]; char in[1000001]; int main() { int n, m; int i, j, k; int a, b, bn; scanf("%d%d", &n, &m); scanf("%s", in); j=0; for(i=0; j<n; i++) { for(k=j; k<j+1000 && k<n; k++) { buk[i][k-j] = in[k]-'x'; bs[i]++; } j = k; } for(;m--;) { scanf("%s", in); if(in[0] == 'a') { scanf("%d%d", &a, &b); a--; b--; int t; bn = 0; j = 0; for(i=0; i<a; ) { if(i+bs[bn] < a) i+=bs[bn++]; else{i++;j++;} } bs[bn]--; t = buk[bn][j]; for(; j<bs[bn]; j++) buk[bn][j] = buk[bn][j+1]; // bn = 0; j = 0; for(i=0; i<b; ) { if(i+bs[bn] < b) i+=bs[bn++]; else{i++;j++;} } bs[bn]++; for(k=bs[bn]; k>j; k--) buk[bn][k] = buk[bn][k-1]; buk[bn][j] = t; } else { scanf("%d", &a);a--; bn = 0; j = 0; for(i=0; i<a; ) { if(i+bs[bn] < a) i+=bs[bn++]; else{i++;j++;} } printf("%c\n", buk[bn][j]+'x'); } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...