Submission #971215

#TimeUsernameProblemLanguageResultExecution timeMemory
971215AbitoReal Mountains (CCO23_day1problem2)C++17
0 / 25
1 ms2396 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #define F first #define S second #define pb push_back #define ppb pop_back #define ep insert #define endl '\n' #define elif else if #define pow pwr #define sqrt sqrtt //#define int long long #define ll long long #define y1 YONE #define free freeee #define lcm llcm typedef unsigned long long ull; using namespace std; const int N=5e5+5,M=1e6+3; int a[N],n,b[N]; int32_t main(){ ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); cin>>n; for (int i=1;i<=n;i++) cin>>a[i]; if (a[1]>a[n]) reverse(a+1,a+1+n); int ans=0; while (!is_sorted(a+1,a+1+n)){ int idx=0,mn=INT_MAX; for (int i=2;i<n;i++){ if (a[i]<mn){ mn=a[i]; idx=i; } } int hi=INT_MAX,hk=INT_MAX; for (int i=1;i<idx;i++) if (a[i]>a[idx]) hi=min(hi,a[i]); for (int i=idx+1;i<=n;i++) if (a[i]>a[idx]) hk=min(hk,a[i]); a[idx]++; ans+=hi+mn+hk; //for (int i=1;i<=n;i++) cout<<a[i]<<' ';cout<<endl; }cout<<ans%M<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...