Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
52811 AK2022071369 木薯与身高 C++ 解答错误 30 292 MS 11980 KB 952 2022-07-20 12:00:31

Tests(6/20):


#include <bits/stdc++.h> using namespace std; int a[114514*10],n,b[114514*10],c[114514*10],ans=0,now=0,no=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("%d\n",ans); return 0; }


测评信息: