Submission #5887

#TimeUsernameProblemLanguageResultExecution timeMemory
5887baneling100전봇대 (KOI13_pole)C++98
89 / 100
32 ms3432 KiB
#include <stdio.h> #include <stdlib.h> #include <algorithm> using namespace std; pair <long long,long long> y[100000]; long long N, x[100000], Hab, Ans; void input(void) { long long i; scanf("%lld",&N); for(i=0 ; i<N ; i++) { scanf("%lld",&x[i]); if(i) y[i]=make_pair(x[i]/i,i); } Hab=N*(N-1)/2; Hab/=2; sort(y+1,y+N); } void process(void) { long long i, s=0, v, temp=0; for(i=1 ; i<N ; i++) { s+=y[i].second; if(Hab<=s) { v=i; break; } } for(i=1 ; i<N ; i++) { Ans+=abs(i*y[v].first-x[i]); temp+=abs(i*(y[v].first+1)-x[i]); } if(Ans>temp) Ans=temp; } void output(void) { printf("%lld",Ans); } int main(void) { input(); process(); output(); 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...