이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
#include"ricehub.h"
#define debug(args...) //fprintf(stderr,args)
using namespace std;
const int MAXR=100010;
int R,L,X[MAXR];
long long int sp1[MAXR],sp2[MAXR],x[MAXR];
long long int B;
int resp;
int besthub(int r,int l,int v[],long long int b)
{
sort(v,v+r);
for(int i=0;i<r;i++) x[i+1]=v[i];
for(int i=1;i<=r;i++) sp1[i]=sp1[i-1]+x[i];
for(int i=r;i>0;i--) sp2[i]=sp2[i+1]+(l-x[i]);
int ini=1, fim=1;
while(fim<=r)
{
if(ini>fim) fim++;
int m=(ini+fim)/2;
long long int op1=sp1[fim]-sp1[m]-((fim-m)*(x[m]));
long long int op2=sp2[ini]-sp2[m]-((m-ini)*(l-x[m]));
debug("op1 = %d op2 = %d ini = %d fim = %d\n",op1,op2,ini,fim);
if(op1+op2<=b) resp=max(resp,fim-ini+1), fim++;
else ini++;
}
return resp;
}
/*
int main ()
{
scanf("%d %d",&R,&L);
for(int i=0;i<R;i++) scanf("%d",&X[i]);
scanf("%lld",&B);
int RESP=besthub(R,L,X,B);
printf("%lld\n",RESP);
}
/*
5 20
1 2 10 12 14
6
*/
컴파일 시 표준 에러 (stderr) 메시지
ricehub.cpp:54:1: warning: "/*" within comment [-Wcomment]
/*
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |