Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
52998 | AK2022071369 | 木薯与身高 | C++ | 编译错误 | 0 | 0 MS | 0 KB | 963 | 2022-07-20 13:18:41 |
#include <bits/stdc++.h> using namespace std; int a[114514*10],n,b[114514*10],c[114514*10],now=0,no=0; long long ans=0 bool cmp(int x,int y) { if(a[x]!=a[y]) { return a[x]<a[y]; } else { return x<y; } } int main() { scanf("%d",&n); for(int i=1; i<=n; i++) { scanf("%d",&a[i]); b[i]=i; } sort(b+1,b+1+n, cmp); for(int i=1; i<=n; i++) { c[b[i]]=i; } for(int i=1; i<=n; i++) { // printf("%d %d %d\n",now,no,ans); if(a[i]>=a[now]) { now=i; for(int j=c[now]-1; j>no; j--) { ans+=b[j]-now; } no=c[now]; } } // for(int i=1; i<=n; i++) // { // printf("%d ",a[i]); // } // printf("\n"); // for(int i=1; i<=n; i++) // { // printf("%d ",b[i]); // } // printf("\n"); // for(int i=1; i<=n; i++) // { // printf("%d ",c[i]); // } // printf("\n"); printf("%lld\n",ans); return 0; }