제출 #229457

#제출 시각아이디문제언어결과실행 시간메모리
229457kshitij_sodani쌀 창고 (IOI11_ricehub)C++17
49 / 100
21 ms1536 KiB
#include <bits/stdc++.h> #include <iostream> using namespace std; typedef long long llo; #define mp make_pair #define a first #define b second #define pb push_back #include <ricehub.h> int besthub(int nn,int coo,int tt[],llo b){ llo n=(llo)nn; llo l,r; llo tot=0; llo ma=0; llo it[n]; for(int i=0;i<n;i++){ it[i]=(llo)tt[i]; } for(llo i=0;i<n;i++){ if(i==0){ l=0; r=-1; for(llo j=0;j<n;j++){ if(tot+it[j]-it[0]<=b){ tot+=(it[j]-it[0]); r+=1; } else{ break; } } ma=max(ma,r-l+1); } else{ /* if(it[i]==it[i-1]){ continue; }*/ tot+=abs(it[i]-it[i-1])*abs(l-i); tot-=abs(it[i]-it[i-1])*abs(r-i+1); llo llp=l; for(int j=llp;j<i;j++){ if(tot>b){ tot-=abs(it[j]-it[i]); l+=1; } else{ break; } } if(r+1<i or l>i){ while(true){ continue; } } for(llo j=r+1;j<n;j++){ if(abs(it[j]-it[i])<=abs(it[i]-it[l])){ r+=1; tot+=abs(it[j]-it[i]); if(tot>b){ l+=1; tot-=abs(it[i]-it[l-1]); if(tot>b){ while(true){ continue; } } } } else if(abs(it[j]-it[i])+tot<=b){ r+=1; tot+=abs(it[j]-it[i]); } else{ break; } } ma=max(ma,r-l+1); } } return ma; } /*int main(){ llo cc[5]; cc[0]=1; cc[1]=2; cc[2]=10; cc[3]=12; cc[4]=14; cout<<besthub(5,20,cc,(llo)6)<<endl; int r,l; llo b; cin>>r>>l>>b; int ac[r]; for(int i=0;i<r;i++){ cin>>ac[i]; } cout<<besthub(r,l,ac,b)<<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...