Submission #1342078

#TimeUsernameProblemLanguageResultExecution timeMemory
1342078ksujay2Lottery (JOI25_lottery)C++20
16 / 100
5091 ms5056 KiB
#include "lottery.h"
#include <bits/stdc++.h>

using namespace std;



int N; 

const int MXN = 2e5;

int X[MXN], Y[MXN];

using ll = long long;

void init(int _N, int _Q, vector<int> _X, vector<int> _Y) {
    N = _N;
    for(int i = 0; i < N; i++) X[i] = _X[i];
    for(int i = 0; i < N; i++) Y[i] = _Y[i];
}

bool check_price(int L, int R, int C) {
    ll lsm = 0, rsm = 0;
    for(int i = L; i <= R; i++) {
        if(X[i] + Y[i] < C) return false;
        ll x = min(X[i], C);
        ll y = min(Y[i], C);
        lsm += C - 2 * y;
        rsm += 2 * x - C;
   }
    return lsm <= 0 && 0 <= rsm;
}

int max_prize(int L, int R) {
    int k = 0;
    for(int j = 1 << 29; j > 0; j /= 2) {
        if(check_price(L, R, k + j)) {
            k += j;
        }
    }
    return k;
}

int fakemain() {
    int N, Q; cin >> N >> Q;
    vector<int> X(N), Y(N);
    for(int i = 0; i < N; i++) cin >> X[i];
    for(int i = 0; i < N; i++) cin >> Y[i];
    init(N, Q, X, Y);
    for(int i = 0; i < Q; i++) {
        int L, R; cin >> L >> R;
        cout << max_prize(L, R) << '\n';
    }
}

Compilation message (stderr)

lottery.cpp: In function 'int fakemain()':
lottery.cpp:54:1: warning: no return statement in function returning non-void [-Wreturn-type]
   54 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...