Submission #500825

#TimeUsernameProblemLanguageResultExecution timeMemory
500825beaconmcRice Hub (IOI11_ricehub)C++14
100 / 100
13 ms672 KiB
//#include "ricehub.h"



typedef long long ll;
#define FOR(i, x, y) for(ll i=x; i<y; i++)

using namespace std;
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
  
#define ordered_set tree<ll, null_type,less_equal<ll>, rb_tree_tag,tree_order_statistics_node_update>


int besthub(int R,int L,int X[],ll B){
    ll lo=0,hi=0,ans=1,curcost=0;
    while (hi<R){
        if ((hi-lo)%2==0 && hi!=lo) curcost += X[hi] - X[(hi-lo-1)/2+1 + lo];
        else curcost += X[hi] - X[(hi-lo-1)/2 + lo];
        if (curcost>B){
            if ((hi-lo)%2==0) curcost += X[lo] -X[hi];
            else curcost += X[lo] - X[hi];
            lo ++;
        } else hi++;
        ans = max(ans, hi-lo);
    }
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...