제출 #28919

#제출 시각아이디문제언어결과실행 시간메모리
28919ozaslan쌀 창고 (IOI11_ricehub)C++14
100 / 100
23 ms5924 KiB
#include "ricehub.h"
#include<bits/stdc++.h>

#include "ricehub.h"
#include <stdio.h>
#include <stdlib.h>

#define MAX_R  1000000

using namespace std;

/*static int R, L;
static long long B;
static int X[MAX_R];
static int solution;

inline
void my_assert(int e) {if (!e) abort();}

static void read_input()
{
  int i;
  my_assert(3==scanf("%d %d %lld",&R,&L,&B));
  for(i=0; i<R; i++)
    my_assert(1==scanf("%d",&X[i]));
  my_assert(1==scanf("%d",&solution));
}

int main()
{
    freopen("grader.in.1", "r", stdin);
  int ans;
  read_input();
  ans = besthub(R,L,X,B);
  if(ans==solution)
    printf("Correct.\n");
  else
    printf("Incorrect.  Returned %d instead of %d.\n",ans,solution);

  return 0;
}*/

int besthub(int R, int L, int X[], long long B)
{
    int enIyi = 0, k = 1;

    int sag = 0, sol = 0;
    long long toplam = 0;

    while(1) {
        int orta = (sol + sag + 1) / 2;

        if(toplam > B) {
            toplam -= (X[orta] - X[sol]);
            sol++;
            k--;
        }

        else if(sag < R-1){
            enIyi = max(k, enIyi);
            k++;
            sag++;
            toplam += (X[sag] - X[orta]);
        }
        else break;
    }

    enIyi = max(k, enIyi);

	return enIyi;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...