Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<vector>
- using namespace std;
- int main()
- {
- int n;
- scanf("%d",&n);
- vector<int> vec(n+1);
- for(int i = 1 ; i <= n ; i ++)
- {
- scanf("%d",&vec[i]);
- }
- int order[n+1];
- int f = 1;
- int b = n;
- for(int i = 1 ; i <= n ; i ++){
- if(i % 2 == 1){
- order[i] = f++;
- }else{
- order[i] = b--;
- }
- // printf("%d ",order[i]);
- }
- int cnt = 0;
- for(int i = 1 ; i <= n ; i ++){
- bool skip = false;
- if(vec[order[i]] == order[i]){ //skip
- cnt ++;
- skip = true;
- }else{
- int j;
- for(j = 1 ; j <= n ; j ++){
- if(vec[j] == order[i]){
- break;
- }
- }
- vec.erase(vec.begin()+j);
- vec.insert(vec.begin()+order[i],order[i]);
- }
- /* printf("I (%d) %s : ",i,(skip ? "skip" : "NotS"));
- for(int j = 1 ; j <= n ; j ++){
- printf("%d ",vec[j]);
- }
- printf("\n");*/
- }
- printf("%d",cnt);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement