# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
715564 | vjudge1 | Cluedo (IOI10_cluedo) | C++11 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include "ricehub.h"
#define ll long long
using namespace std;
int besthub(int R, int L, int X[], long long B)
{
int ans=0;
for(int i=0;i<R;i++)
{
ll budget=B;
int l=i,r=i+1;
int cnt=0;
while(l!=-1||r!=R)
{
if(l==-1)
{
if(X[r]-X[i]<=budget)
budget-=X[r]-X[i],r++,cnt++;
else
break;
}
else if(r==R)
{
if(X[i]-X[l]<=budget)
budget-=X[i]-X[l],l--,cnt++;
else
break;
}
else
{
int lft=X[i]-X[l],rgt=X[r]-X[i];
int mn=min(lft,rgt);
if(mn==lft&&lft<=budget)
budget-=lft,l--,cnt++;
else if(mn==rgt&&rgt<=budget)
budget-=rgt,r++,cnt++;
else
break;
}
}
ans=max(ans,cnt);
}
return ans;
}
//int main()
//{
// int a,b,d;
// cin >> a >> b >> d;
// int c[a];
// for(int i=0;i<a;i++)
// cin >> c[i];
// cout << besthub(a,b,c,d);
// return 0;
//}
/**
5 100 100
1 97 98 99 100
**/