Submission #1516825
Source Code Expand
#include<bits/stdc++.h> using namespace std; #define ll long long int #define pb push_back #define mp make_pair int abs(int x){ if(x<0) return x*-1; else return x; } int main(){ int n; cin>>n; int i,j; pair<int,int> a[n+1]; for(i=1;i<=n;i++){ int g; cin>>g; a[i]=mp(g,i); } sort(a+1,a+n+1); set<int> a0; set<int> a1; set<int> b0; set<int> b1; int c[n+1]; for(i=n;i>=1;i--){ int x=abs(i-a[i].second); c[a[i].second]=x%2; if(a[i].second%2){ if(x%2) a1.insert(a[i].second); else a0.insert(a[i].second); } else{ if(x%2) b1.insert(a[i].second); else b0.insert(a[i].second); }} int ans=0; set<int>::iterator s; for(i=n;i>=1;i--){ if(c[a[i].second]==0) { if(a[i].second%2) a0.erase(a[i].second); else b0.erase(a[i].second); continue;} ans++; if(a[i].second%2){ a1.erase(a[i].second); if(b1.empty()){ s=b0.begin(); c[*s]=1; b0.erase(*s); b1.insert(*s); } else{ s=b1.begin(); c[*s]=0; b1.erase(*s); b0.insert(*s); } } else{ b1.erase(a[i].second); if(a1.empty()){ s=a0.begin(); c[*s]=1; a0.erase(*s); a1.insert(*s); } else{ s=a1.begin(); c[*s]=0; a1.erase(*s); a0.insert(*s); } } } cout<<ans<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - BBuBBBlesort! |
User | adam1007 |
Language | C++14 (GCC 5.4.1) |
Score | 600 |
Code Size | 1704 Byte |
Status | AC |
Exec Time | 108 ms |
Memory | 6144 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 600 / 600 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | s1.txt, s2.txt |
All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, s1.txt, s2.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01.txt | AC | 107 ms | 6144 KB |
02.txt | AC | 108 ms | 6144 KB |
03.txt | AC | 107 ms | 6144 KB |
04.txt | AC | 107 ms | 6144 KB |
05.txt | AC | 96 ms | 6144 KB |
06.txt | AC | 97 ms | 6144 KB |
07.txt | AC | 96 ms | 6144 KB |
08.txt | AC | 54 ms | 6144 KB |
09.txt | AC | 54 ms | 6144 KB |
10.txt | AC | 56 ms | 6144 KB |
11.txt | AC | 54 ms | 6144 KB |
12.txt | AC | 69 ms | 6144 KB |
13.txt | AC | 68 ms | 6144 KB |
14.txt | AC | 88 ms | 6144 KB |
15.txt | AC | 88 ms | 6144 KB |
16.txt | AC | 101 ms | 6144 KB |
17.txt | AC | 88 ms | 6144 KB |
18.txt | AC | 1 ms | 256 KB |
19.txt | AC | 1 ms | 256 KB |
20.txt | AC | 1 ms | 256 KB |
21.txt | AC | 1 ms | 256 KB |
22.txt | AC | 1 ms | 256 KB |
s1.txt | AC | 1 ms | 256 KB |
s2.txt | AC | 1 ms | 256 KB |