Submission #1205830

#TimeUsernameProblemLanguageResultExecution timeMemory
1205830bronze_coderRotating Lines (APIO25_rotate)C++20
13 / 100
3095 ms1988 KiB
#include "rotate.h" #include <bits/stdc++.h> using namespace std; void energy(int n, vector<int> v){ int x = 50000; for(int i:v){ x = min(i,x); } for(int i=0;i<n;i++){ v[i] -= x; } vector<pair<int,int>> l; for(int i=0;i<n;i++){ l.push_back({v[i],i}); } sort(l.begin(),l.end()); if(n%2==0){ if(l[n/2].first>25000){ for(int i=0;i<=n/2;i++){ if(l[i].first>25000){ rotate({l[i].second},75000-l[i].first); l[i].first = 25000; } } } else if(l[n/2].first<25000){ for(int i=n-1;i>=n/2;i--){ if(l[i].first<25000){ rotate({l[i].second},25000-l[i].first); l[i].first = 25000; } } } } for(int i=1;i<=(n-1)/2;i++){ int j = i+n/2; if(l[j].first-l[i].first>25000){ rotate({l[j].second},l[i].first+75000-l[j].first); } else{ rotate({l[i].second},l[j].first-l[i].first-25000); } } }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...