244732026-02-12 08:40:10algoproSzurikáta (45)cpp17Időlimit túllépés 10/45400ms1396 KiB
// UUID: aa2149a3-4e15-4d97-8536-1de2f48c3cf7
#include <algorithm>
#include <bits/stdc++.h>
#include <cfloat>
#include <vector>
using namespace std;

void solve() {
    int n, p, q;
    cin >> n >> p >> q;

    vector<double> holes(n);
    vector<double> heights(n);

    for (int i = 0; i < n; i++) cin >> holes[i];
    for (int i = 0; i < n; i++) cin >> heights[i];

    for (int i = 0; i < q; i++) {
        int db;
        cin >> db;

        vector<pair<int, double>> g(db);
        for (int j = 0;j < db; j++){
            double sorsz, meret;
            cin >> sorsz >> meret;
            g[j] = {sorsz-1, meret};
        }

        double maxslope = -1e18;
        int res = 0;
        int po = 0;

        for (int j = 0; j < n; j++){
            double curr = heights[j];
            if (po < db && j == g[po].first) {
                curr+=g[po].second;
                po++;
            }
            double currslope = (double)(curr-p) / (double)holes[j];
            if (currslope > maxslope) {
                res++;
                maxslope = currslope;
            }
        }

        cout << res << ' ';
    }



    return;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int t = 1;
    //cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base10/45
1Elfogadva0/01ms316 KiB
2Elfogadva0/026ms572 KiB
3Elfogadva2/22ms316 KiB
4Elfogadva2/22ms316 KiB
5Elfogadva2/212ms484 KiB
6Elfogadva2/217ms568 KiB
7Elfogadva2/217ms604 KiB
8Időlimit túllépés0/4386ms1396 KiB
9Időlimit túllépés0/4388ms1312 KiB
10Időlimit túllépés0/4400ms1076 KiB
11Időlimit túllépés0/4398ms1076 KiB
12Időlimit túllépés0/4379ms1084 KiB
13Időlimit túllépés0/5379ms1124 KiB
14Időlimit túllépés0/5400ms1076 KiB
15Időlimit túllépés0/5400ms1388 KiB