답안 #302435

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
302435 2020-09-18T16:49:40 Z UserIsUndefined 쌀 창고 (IOI11_ricehub) C++14
68 / 100
1000 ms 896 KB
#include "ricehub.h"
#include <bits/stdc++.h>

using namespace std;


int besthub(int R, int L, int X[], long long B)
{

    int low = 0;

    int high = R*2;


    while(low < high){
        int mid = (high+low)/2;


        long long sum = 0;

        long long now = mid/2;

        long long pluss = mid - mid/2 - 1;

        long long mines = mid - (pluss + 1);


        int good = false;



        for (int i = now ; i + pluss < R ; i++){
            long long sum = 0;

            for (int j = i - mines ; j <= i + pluss ; j++){
                sum+= llabs(X[j] - X[i]);
            }


            if (sum <= B){
                low = mid + 1;
                good = true;
                break;
            }

        }


        if (good)continue;

        high = mid - 1;




    }

    int best = low - 1;




    for (int i = max(best - 5 , 0) ; i <= min(R , best + 5) ; i++){

        long long pluss = i - i/2 - 1;

        long long mines = i - (pluss + 1);

         int good = false;

        for (int j = i/2 ; j + pluss < R ; j++){
            long long sum = 0;

            for (int f = j - mines ; f <= j + pluss ; f++){
                sum+= llabs(X[f] - X[j]);
            }


            if (sum <= B){
                best = i;
                good = true;
                break;
            }

        }

    }



    return best;
}

Compilation message

ricehub.cpp: In function 'int besthub(int, int, int*, long long int)':
ricehub.cpp:19:19: warning: unused variable 'sum' [-Wunused-variable]
   19 |         long long sum = 0;
      |                   ^~~
ricehub.cpp:69:14: warning: variable 'good' set but not used [-Wunused-but-set-variable]
   69 |          int good = false;
      |              ^~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 256 KB Output is correct
2 Correct 1 ms 256 KB Output is correct
3 Correct 1 ms 256 KB Output is correct
4 Correct 1 ms 256 KB Output is correct
5 Correct 1 ms 256 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Correct 1 ms 256 KB Output is correct
4 Correct 1 ms 384 KB Output is correct
5 Correct 1 ms 256 KB Output is correct
6 Correct 1 ms 256 KB Output is correct
7 Correct 1 ms 384 KB Output is correct
8 Correct 1 ms 256 KB Output is correct
9 Correct 1 ms 384 KB Output is correct
10 Correct 1 ms 256 KB Output is correct
11 Correct 1 ms 256 KB Output is correct
12 Correct 1 ms 256 KB Output is correct
13 Correct 1 ms 256 KB Output is correct
14 Correct 1 ms 256 KB Output is correct
15 Correct 1 ms 256 KB Output is correct
16 Correct 1 ms 256 KB Output is correct
17 Correct 1 ms 384 KB Output is correct
18 Correct 1 ms 384 KB Output is correct
19 Correct 1 ms 256 KB Output is correct
20 Correct 1 ms 384 KB Output is correct
21 Correct 1 ms 256 KB Output is correct
22 Correct 1 ms 256 KB Output is correct
23 Correct 1 ms 384 KB Output is correct
24 Correct 1 ms 384 KB Output is correct
25 Correct 1 ms 256 KB Output is correct
26 Correct 1 ms 384 KB Output is correct
27 Correct 2 ms 384 KB Output is correct
28 Correct 2 ms 256 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 256 KB Output is correct
2 Correct 1 ms 256 KB Output is correct
3 Correct 1 ms 384 KB Output is correct
4 Correct 1 ms 384 KB Output is correct
5 Correct 1 ms 384 KB Output is correct
6 Correct 1 ms 256 KB Output is correct
7 Correct 2 ms 384 KB Output is correct
8 Correct 2 ms 384 KB Output is correct
9 Correct 1 ms 384 KB Output is correct
10 Correct 1 ms 512 KB Output is correct
11 Correct 2 ms 384 KB Output is correct
12 Correct 2 ms 384 KB Output is correct
13 Correct 1 ms 384 KB Output is correct
14 Correct 1 ms 384 KB Output is correct
15 Correct 2 ms 384 KB Output is correct
16 Correct 2 ms 256 KB Output is correct
17 Correct 1 ms 384 KB Output is correct
18 Correct 1 ms 384 KB Output is correct
19 Correct 1 ms 384 KB Output is correct
20 Correct 1 ms 384 KB Output is correct
21 Correct 22 ms 384 KB Output is correct
22 Correct 23 ms 384 KB Output is correct
23 Correct 1 ms 384 KB Output is correct
24 Correct 1 ms 384 KB Output is correct
25 Correct 2 ms 384 KB Output is correct
26 Correct 2 ms 384 KB Output is correct
27 Correct 124 ms 384 KB Output is correct
28 Correct 130 ms 384 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 255 ms 504 KB Output is correct
2 Correct 252 ms 504 KB Output is correct
3 Correct 18 ms 768 KB Output is correct
4 Correct 19 ms 768 KB Output is correct
5 Execution timed out 1039 ms 896 KB Time limit exceeded
6 Halted 0 ms 0 KB -