Submission #546366

# Submission time Handle Problem Language Result Execution time Memory
546366 2022-04-07T11:29:53 Z AJ00 Rice Hub (IOI11_ricehub) C++14
0 / 100
3 ms 340 KB
#include <bits/stdc++.h>
#include "ricehub.h"
using namespace std;

int besthub(int R, int L, int X[], long long B)
{
   // int ans;
    int n = R;
    long long int lsum,rsum;
    deque<int> le,re;
    int f = 1, b = n,ans=1;
    while(f <= b){
        //cout << f << " " << b << "\n";
        int mid = ((f+b) >> 1);
        lsum = rsum = 0;
        le.clear();
        re.clear();
        for (int i = 0; i < (mid+1)/2; i++){
            lsum += X[i];
            le.push_back(X[i]);
        }
        for (int i = (mid+1)/2; i < mid; i++){
            rsum += X[i];
            re.push_back(X[i]);
        }
      //  cout << mid << " " << lsum << " " << rsum << "\n";
        /*if (mid%2==1){
            int nxt = re.front();
            re.pop_front();
            rsum -= nxt;
            lsum += nxt;
            
        }*/
        bool pos = false;
        if (rsum - lsum < B){
            ans = mid;
            f = mid+1;
           // cout << "f ";
            continue;
        }
        int nxt,temp1,temp2,itr = mid;
        while(itr < n){
            nxt = X[itr];
            temp1 = re.front();
            temp2 = le.front();
            rsum += (nxt-temp1);
            lsum += (temp1-temp2);
            re.pop_front();
            le.pop_front();
            re.push_back(nxt);
            le.push_back(temp1);
           // cout << mid << " " << lsum << " " << rsum << "\n";
            if (rsum - lsum <= B){
                pos = true;
                break;
            }
            itr++;
        }
        if (pos){
            ans = mid;
            f = mid+1;
          //  cout << "f ";
        }
        else {
            b = mid-1;
           // cout << "b ";
        }
     //   cout << "\n";
    }
    return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Incorrect 0 ms 212 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Incorrect 0 ms 212 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -