Submission #21101186


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
using ll = long long;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);

  ll N; cin >> N;
  vector<ll> A(N), T(N);
  for (ll i = 0; i < N; i++) {
    cin >> A[i] >> T[i];
  }

  ll Q; cin >> Q;
  ll low = 1e10, high = -1e10;
  vector<ll> X(Q);
  for (ll i = 0; i < Q; i++) {
    cin >> X[i];
    if (low  > X[i]) low  = X[i];
    if (high < X[i]) high = X[i];
  }

  ll real_low = low, real_high = high, temp_low = low, temp_high = high;
  ll sum = 0;
  for (ll i = 0; i < N; i++) {
    if (T[i] == 1) {
      real_low += A[i];
      temp_low += A[i];
      real_high += A[i];
      temp_high += A[i];
      sum += A[i];

    } else if (T[i] == 2) {
      real_low = max(real_low, A[i]);
      real_high = max(real_high, A[i]);
    } else {
      real_low = min(real_low, A[i]);
      real_high = min(real_high, A[i]);
    }
  // cout <<'\n';
  // cout << real_low << '\n';
  // cout << real_high << '\n';
  // cout <<'\n';
  }

  ll low_cut = low + (real_low - temp_low);
  ll high_cut = high - (temp_high - real_high);
  for (ll i = 0; i < Q; i++) {
    if (X[i] < low_cut) {
      cout << real_low << '\n';
    } else if (X[i] > high_cut) {
      cout << real_high << '\n';
    } else {
      cout << (X[i] + sum) << '\n';
    }
  }
  return 0;
}

Submission Info

Submission Time
Task E - Filters
User nakaken88
Language C++ (GCC 9.2.1)
Score 500
Code Size 1363 Byte
Status AC
Exec Time 78 ms
Memory 8468 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 1
AC × 39
Set Name Test Cases
Sample 01_sample.txt
All 01_sample.txt, 02_small.txt, 03_small.txt, 04_small.txt, 05_small.txt, 06_small.txt, 07_small.txt, 08_small.txt, 09_small.txt, 10_small.txt, 11_small.txt, 12_small.txt, 13_small.txt, 14_small.txt, 15_small.txt, 16_small.txt, 17_large.txt, 18_large.txt, 19_large.txt, 20_large.txt, 21_large.txt, 22_large.txt, 23_large.txt, 24_large.txt, 25_large.txt, 26_large.txt, 27_large.txt, 28_large.txt, 29_large.txt, 30_large.txt, 31_large.txt, 32_max.txt, 33_max.txt, 34_max.txt, 35_max.txt, 36_max.txt, 37_max.txt, 38_max.txt, 39_bound.txt
Case Name Status Exec Time Memory
01_sample.txt AC 8 ms 3620 KiB
02_small.txt AC 2 ms 3628 KiB
03_small.txt AC 5 ms 3620 KiB
04_small.txt AC 1 ms 3560 KiB
05_small.txt AC 1 ms 3592 KiB
06_small.txt AC 8 ms 3692 KiB
07_small.txt AC 2 ms 3468 KiB
08_small.txt AC 2 ms 3624 KiB
09_small.txt AC 3 ms 3512 KiB
10_small.txt AC 3 ms 3524 KiB
11_small.txt AC 2 ms 3564 KiB
12_small.txt AC 2 ms 3520 KiB
13_small.txt AC 2 ms 3668 KiB
14_small.txt AC 2 ms 3632 KiB
15_small.txt AC 2 ms 3580 KiB
16_small.txt AC 4 ms 3516 KiB
17_large.txt AC 28 ms 4188 KiB
18_large.txt AC 32 ms 4256 KiB
19_large.txt AC 33 ms 4364 KiB
20_large.txt AC 43 ms 4612 KiB
21_large.txt AC 38 ms 4364 KiB
22_large.txt AC 31 ms 3952 KiB
23_large.txt AC 40 ms 4744 KiB
24_large.txt AC 35 ms 4164 KiB
25_large.txt AC 38 ms 4436 KiB
26_large.txt AC 41 ms 4524 KiB
27_large.txt AC 13 ms 3680 KiB
28_large.txt AC 17 ms 3756 KiB
29_large.txt AC 8 ms 3764 KiB
30_large.txt AC 12 ms 3580 KiB
31_large.txt AC 12 ms 3708 KiB
32_max.txt AC 73 ms 8332 KiB
33_max.txt AC 78 ms 8468 KiB
34_max.txt AC 72 ms 7848 KiB
35_max.txt AC 71 ms 7860 KiB
36_max.txt AC 70 ms 7936 KiB
37_max.txt AC 72 ms 7896 KiB
38_max.txt AC 69 ms 7892 KiB
39_bound.txt AC 71 ms 7860 KiB