Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: GastrointestinalTrackInflammation
Problemset: Fool's Compensation
Language: cpp
Time: 0.004 second
Submitted On: 2025-12-16 17:11:33
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main(){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);cout.tie(nullptr);
int n;
ll ans=1000;
ll curprice=1000;
cin>>n;
int a[n];
int lastequal[n];
ll rate[n]={0};
rate[0]=1000;
lastequal[0]=0;
for(int i=0;i<n;i++)cin>>a[i];
int firstdes=0;
for(int i=1;i<n;i++){
if(a[i]==a[i-1])lastequal[i]=lastequal[i-1];
else lastequal[i]=i;
//cout<<ans<<endl;
if(a[i]==a[i-1]){
ans+=curprice;
rate[i]=curprice;
continue;
}
if(a[i]>a[i-1]){
curprice+=1000;
ans+=curprice;
rate[i]=curprice;
continue;
}
if(curprice!=1000){
curprice=1000;
firstdes=i;
}else{
rate[firstdes]+=1000;
if(firstdes!=0 && rate[firstdes] == rate[firstdes-1]){
firstdes=lastequal[firstdes-1];
rate[firstdes]++;
}
}
ans+=curprice;
ans+=(i-firstdes)*1000;
rate[i]=curprice;
}
cout<<ans<<endl;
return 0;
}
/*
9
1 2 3 4 5 4 5 4 3
*/