Submission #75203784


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

mt19937_64    rng(chrono::steady_clock::now().time_since_epoch().count());

#define       nline                     "\n"
#define       pb                        push_back
#define       ppb                       pop_back
#define       mp                        make_pair
#define       ff                        first
#define       ss                        second
#define       fall(x, n)                for(int x=0; x<n; x++)
#define       rall(x, n)                for(int x=n-1; x>=0; x--)
#define       frange(x, start, end)     for(int x=start; x<=end; x++)
#define       rrange(x, start, end)     for(int x=start; x>=end; x--)
#define       in(i, v)                  for(auto &i: v) cin >> i;
#define       vi                        vector<int>
#define       ii                        pair<int, int>
#define       sz(x)                     ((int)(x).size())
#define       all(x)                    (x).begin(), (x).end()
#define       mod                       1000000007
#define       INF                       0x1fffffffffffffffLL

typedef       long long                 ll;
typedef       unsigned long long        ull;
typedef       long double               lld;

#ifdef        LOCAL
#include      "debug.h"
#else
#define       debug(x)
#endif

#define       int                       long long

void solve()
{
    int n; cin >> n;
    vector<ii> v(n);
    fall(i, n) cin >> v[i].ff >> v[i].ss;
    int q; cin >> q;
    while (q--) {
        int a, b; cin >> a >> b;
        a--;
        int rem = b % v[a].ff;
        if (rem == v[a].ss) cout << b << nline;
        else if (rem < v[a].ss) cout << b + (v[a].ss - rem) << nline;
        else cout << ((b + v[a].ff - 1) / v[a].ff)*v[a].ff + v[a].ss << nline;
    }
}

signed main()
{
#ifdef LOCAL
    freopen("i.txt", "r", stdin); freopen("o.txt", "w", stdout); freopen("e.txt", "w", stderr);
#endif
    auto begin = chrono::high_resolution_clock::now();
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    int t = 1;
    while (t--) solve();
    auto end = chrono::high_resolution_clock::now();
    auto elapsed = chrono::duration_cast<chrono::nanoseconds>(end - begin);
    cerr << fixed << "Time measured <= *_* => " << elapsed.count() * 1e-9 << " seconds.\n";
    return 0;
}

Submission Info

Submission Time
Task C - Garbage Collection
User kumaresh_rk
Language C++23 (GCC 15.2.0)
Score 200
Code Size 2362 Byte
Status AC
Exec Time 1 ms
Memory 3952 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 200 / 200
Status
AC × 1
AC × 6
Set Name Test Cases
Sample 00_sample_01.txt
All 00_sample_01.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 1 ms 3792 KiB
01_test_01.txt AC 1 ms 3952 KiB
01_test_02.txt AC 1 ms 3768 KiB
01_test_03.txt AC 1 ms 3804 KiB
01_test_04.txt AC 1 ms 3892 KiB
01_test_05.txt AC 1 ms 3876 KiB