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 |
|
|
| 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 |