Submission #1301564

#TimeUsernameProblemLanguageResultExecution timeMemory
1301564wojtaszekliszek쌀 창고 (IOI11_ricehub)C++20
0 / 100
1 ms1848 KiB
#include <bits/stdc++.h> using namespace std; #define ll long double vector<ll>cord(100000); ll sum(int mid){ if(mid%2==0){ ll mini=LLONG_MAX,sum=0; int med=mid/2; for(int i=0;i<mid;i++){ ll comp=cord[i]-(cord[med]+cord[med+1])/2; sum+=(comp<0?comp*-1:comp); } int p=mid-1; while(cord[p]>0){ mini=min(mini,sum); sum+=-2*cord[med+1]+cord[p-mid+1]+cord[p+1]; med++; p++; //cout<<sum<<' '<<mid<<'\n'; } return mini; } ll mini=LLONG_MAX,sum=0; int med=(mid-1)/2; for(int i=0;i<mid;i++){ ll comp=cord[i]-cord[med]; sum+=(comp<0?comp*-1:comp); } int p=mid-1; while(cord[p]>0){ mini=min(mini,sum); sum+=-cord[med]-cord[med+1]+cord[p-mid+1]+cord[p+1]; med++; p++; //cout<<sum<<' '<<mid<<'\n'; } return mini; } int besthub(int n, int l, int x[], long long b) { for(int i=0;i<n;i++){ cord[i]=x[i]; } int p=1,k=n,mid=(n+1)/2; while(k>p){ if(sum(mid)>b){ k=mid-1; } else{ p=mid; } mid=(k+p)/2; } cout<<mid; }

Compilation message (stderr)

ricehub.cpp: In function 'int besthub(int, int, int*, long long int)':
ricehub.cpp:55:1: warning: no return statement in function returning non-void [-Wreturn-type]
   55 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...