제출 #677567

#제출 시각아이디문제언어결과실행 시간메모리
677567ThegeekKnight16쌀 창고 (IOI11_ricehub)C++17
68 / 100
1078 ms632 KiB
#include <bits/stdc++.h>
#include "ricehub.h"
using namespace std;

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

    for (int i = 1; i <= R; i++)
    {

        int p = i; int q = i+1;
        long long sum = 0; int respi = 0;
        while (p >= 1 && q <= R)
        {
            long long desq = abs(X[i] - X[p]); long long ddir = abs(X[q] - X[i]);
            if (desq < ddir)
            {
                if (sum + desq > B) break;
                sum += desq;
                p--;
                respi++;
            }
            else
            {
                if (sum + ddir > B) break;
                sum += ddir;
                q++;
                respi++;
            }
        }

        while (p >= 1)
        {
            long long desq = abs(X[i] - X[p]);
            if (sum + desq > B) break;
            sum += desq;
            p--;
            respi++;
        }

        while (q <= R)
        {
            long long ddir = abs(X[q] - X[i]);
            if (sum + ddir > B) break;
            sum += ddir;
            q++;
            respi++;
        }

        // cerr << i << " " << sum << " " << respi << '\n';
        resp = max(resp, respi);
    }

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