# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
36280 | 2017-12-07T04:50:15 Z | Kerim | 입자 가속기 (IZhO11_collider) | C++14 | 279 ms | 2992 KB |
#pragma GCC optimize("Ofast,no-stack-protector") #pragma GCC target("avx") #include "bits/stdc++.h" #define MAXN 100009 #define INF 1000000007 #define mp(x,y) make_pair(x,y) #define all(v) v.begin(),v.end() #define pb(x) push_back(x) #define wr cout<<"----------------"<<endl; #define ppb() pop_back() #define tr(ii,c) for(__typeof((c).begin()) ii=(c).begin();ii!=(c).end();ii++) #define ff first #define ss second #define my_little_dodge 46 #define debug(x) cerr<< #x <<" = "<< x<<endl; using namespace std; typedef long long ll; typedef pair<int,int> PII; template<class T>bool umin(T& a,T b){if(a>b){a=b;return 1;}return 0;} template<class T>bool umax(T& a,T b){if(a<b){a=b;return 1;}return 0;} const int N=1e6+7; char s[N]; int main(){ //~ freopen("file.in", "r", stdin); int n,q; scanf("%d%d",&n,&q); scanf("%s",s+1); while(q--){ char type; scanf(" %c",&type); if(type=='a'){ int l,r; scanf("%d%d",&l,&r); if(l>r){ swap(l,r); char jump=s[r]; for(int i=r-1;i>=l;i--) s[i+1]=s[i]; s[l]=jump; } else{ char jump=s[l]; for(int i=l+1;i<=r;i++) s[i-1]=s[i]; s[r]=jump; } } else{ int p; scanf("%d",&p); printf("%c\n",s[p]); } } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 2992 KB | Output is correct |
2 | Correct | 3 ms | 2992 KB | Output is correct |
3 | Correct | 9 ms | 2992 KB | Output is correct |
4 | Correct | 66 ms | 2992 KB | Output is correct |
5 | Correct | 156 ms | 2992 KB | Output is correct |
6 | Correct | 206 ms | 2992 KB | Output is correct |
7 | Correct | 203 ms | 2992 KB | Output is correct |
8 | Correct | 89 ms | 2992 KB | Output is correct |
9 | Correct | 279 ms | 2992 KB | Output is correct |
10 | Correct | 166 ms | 2992 KB | Output is correct |