Submission #2825473
Source Code Expand
//https://cf17-exhibition-open.contest.atcoder.jp/tasks/cf17_exhibition_b
#include <cstdio>
#include <algorithm>
using namespace std;
#define N 200020
#define inf 0x7fffffff
#define ll long long
int n,mn[N<<2],add[N<<2],b[N],a[N];
ll ans=0;
inline void pushup(int x){mn[x]=min(mn[x<<1],mn[x<<1|1]);}
inline void pushdown(int x){
mn[x<<1]+=add[x];mn[x<<1|1]+=add[x];
add[x<<1]+=add[x];add[x<<1|1]+=add[x];
add[x]=0;
}
void build(int v,int l,int r){
if(l==r){mn[v]=b[l];return;}
int mid=l+r>>1;
build(v<<1,l,mid);build(v<<1|1,mid+1,r);
pushup(v);
}
void ins(int v,int l,int r,int x,int y){
if(x>y) return;
if(x<=l && r<=y){
add[v]++;mn[v]++;
return;
}int mid=l+r>>1;pushdown(v);
if(x<=mid) ins(v<<1,l,mid,x,y);
if(mid<y) ins(v<<1|1,mid+1,r,x,y);
pushup(v);
}
int query(int v,int l,int r,int x,int y){
if(x<=l && r<=y) return mn[v];
int mid=l+r>>1,s=inf;pushdown(v);
if(x<=mid) s=min(s,query(v<<1,l,mid,x,y));
if(mid<y) s=min(s,query(v<<1|1,mid+1,r,x,y));
return s;
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&a[i]),b[i]=a[i];
sort(b+1,b+n+1);int nn=unique(b+1,b+n+1)-b-1;
build(1,1,nn);
for(int i=1;i<=n;i++){
int p=lower_bound(b+1,b+nn+1,a[i])-b;
ans+=query(1,1,nn,p,nn)-a[i];
ins(1,1,nn,1,p-1);
}printf("%lld\n",ans);
return 0;
}
Submission Info
Submission Time |
|
Task |
B - Increment and Swap |
User |
sunshiness |
Language |
C++14 (GCC 5.4.1) |
Score |
1500 |
Code Size |
1334 Byte |
Status |
AC |
Exec Time |
148 ms |
Memory |
6912 KB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:40:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&n);
^
./Main.cpp:41:51: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
for(int i=1;i<=n;i++) scanf("%d",&a[i]),b[i]=a[i];
^
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
1500 / 1500 |
Status |
|
|
Set Name |
Test Cases |
Sample |
example0.txt, example1.txt |
All |
000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, 034.txt, 035.txt, 036.txt, 037.txt, 038.txt, 039.txt, 040.txt, 041.txt, 042.txt, 043.txt, 044.txt, 045.txt, 046.txt, 047.txt, 048.txt, 049.txt, 050.txt, 051.txt, 052.txt, 053.txt, 054.txt, 055.txt, 056.txt, 057.txt, 058.txt, 059.txt, 060.txt, 061.txt, 062.txt, 063.txt, example0.txt, example1.txt |
Case Name |
Status |
Exec Time |
Memory |
000.txt |
AC |
130 ms |
6272 KB |
001.txt |
AC |
132 ms |
6272 KB |
002.txt |
AC |
131 ms |
6272 KB |
003.txt |
AC |
132 ms |
6272 KB |
004.txt |
AC |
133 ms |
6272 KB |
005.txt |
AC |
135 ms |
6272 KB |
006.txt |
AC |
136 ms |
6272 KB |
007.txt |
AC |
138 ms |
6272 KB |
008.txt |
AC |
137 ms |
6272 KB |
009.txt |
AC |
139 ms |
6272 KB |
010.txt |
AC |
138 ms |
6272 KB |
011.txt |
AC |
141 ms |
6912 KB |
012.txt |
AC |
139 ms |
6912 KB |
013.txt |
AC |
140 ms |
6912 KB |
014.txt |
AC |
141 ms |
6912 KB |
015.txt |
AC |
141 ms |
6912 KB |
016.txt |
AC |
141 ms |
6912 KB |
017.txt |
AC |
143 ms |
6912 KB |
018.txt |
AC |
142 ms |
6912 KB |
019.txt |
AC |
144 ms |
6912 KB |
020.txt |
AC |
142 ms |
6912 KB |
021.txt |
AC |
12 ms |
2432 KB |
022.txt |
AC |
123 ms |
6272 KB |
023.txt |
AC |
59 ms |
5504 KB |
024.txt |
AC |
22 ms |
2816 KB |
025.txt |
AC |
79 ms |
5632 KB |
026.txt |
AC |
15 ms |
2560 KB |
027.txt |
AC |
99 ms |
5888 KB |
028.txt |
AC |
50 ms |
5376 KB |
029.txt |
AC |
49 ms |
5376 KB |
030.txt |
AC |
49 ms |
5376 KB |
031.txt |
AC |
101 ms |
5888 KB |
032.txt |
AC |
64 ms |
5504 KB |
033.txt |
AC |
66 ms |
5504 KB |
034.txt |
AC |
110 ms |
6016 KB |
035.txt |
AC |
19 ms |
2688 KB |
036.txt |
AC |
126 ms |
6784 KB |
037.txt |
AC |
95 ms |
5888 KB |
038.txt |
AC |
24 ms |
2816 KB |
039.txt |
AC |
72 ms |
5632 KB |
040.txt |
AC |
67 ms |
5504 KB |
041.txt |
AC |
125 ms |
6784 KB |
042.txt |
AC |
101 ms |
6912 KB |
043.txt |
AC |
99 ms |
6912 KB |
044.txt |
AC |
144 ms |
6912 KB |
045.txt |
AC |
1 ms |
2176 KB |
046.txt |
AC |
33 ms |
3712 KB |
047.txt |
AC |
148 ms |
6912 KB |
048.txt |
AC |
27 ms |
3712 KB |
049.txt |
AC |
31 ms |
3712 KB |
050.txt |
AC |
43 ms |
3712 KB |
051.txt |
AC |
64 ms |
3712 KB |
052.txt |
AC |
89 ms |
3840 KB |
053.txt |
AC |
113 ms |
3968 KB |
054.txt |
AC |
139 ms |
6272 KB |
055.txt |
AC |
25 ms |
3712 KB |
056.txt |
AC |
29 ms |
3712 KB |
057.txt |
AC |
41 ms |
3712 KB |
058.txt |
AC |
59 ms |
3840 KB |
059.txt |
AC |
87 ms |
3840 KB |
060.txt |
AC |
109 ms |
3968 KB |
061.txt |
AC |
135 ms |
6272 KB |
062.txt |
AC |
94 ms |
6272 KB |
063.txt |
AC |
93 ms |
6272 KB |
example0.txt |
AC |
1 ms |
2176 KB |
example1.txt |
AC |
1 ms |
2176 KB |