1 条题解
-
0
AC了
#include<bits/stdc++.h> #define ll long long #pragma GCC optimize(2) #define un unsigned #define int long long #define db double #define inf 1000000000000000 #define st string #define ct const #define xh(a,b,c) for(int a=b;a<=c;a++) #define wx while(1) #define dn(a,b,c) for(int a=b;a>=c;a--) using namespace std; int n,a[100010],b[100010],ans; void qsort(int left,int right){ int mid=(left+right)/2; if(left>=right)return ; int k=left,i=left,j=mid+1; qsort(left,mid); qsort(mid+1,right); while(i<=mid&&j<=right){ if(a[i]<a[j]){ ans+=mid-i+1; b[k++]=a[j++]; } else b[k++]=a[i++]; } while(i<=mid)b[k++]=a[i++]; while(j<=right)b[k++]=a[j++]; xh(i,left,right)a[i]=b[i]; } signed main(){ cin>>n; xh(i,1,n)cin>>a[i],a[i]+=(n-i+1);//重点 qsort(1,n); cout<<ans%12345; return 0; }
- 1
信息
- ID
- 87
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 104
- 已通过
- 18
- 上传者