Please sign in first.
Submission #48871083
Source Code Expand
#include <bitset>
#include <iostream>
#include <vector>
using namespace std;
const int SZ = 2000;
using B = bitset<SZ>;
B bs[200000];
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n, q;
cin >> n >> q;
vector<int> c(n);
for (int i = 0; i < n; i++) {
cin >> c[i];
c[i]--;
}
vector<pair<int, int>> ques(q);
for (int i = 0; i < q; i++) {
cin >> ques[i].first >> ques[i].second;
ques[i].first--;
ques[i].second--;
}
vector<int> ans(q);
for (int ph = 0; ph < 100; ph++) {
int st = SZ * ph;
for (int i = 0; i < n; i++) {
bs[i].reset();
if (0 <= c[i] - st && c[i] - st < SZ) {
bs[i].set(c[i] - st);
}
}
for (int i = 0; i < q; i++) {
int a = ques[i].first, b = ques[i].second;
bs[b] |= bs[a];
bs[a].reset();
ans[i] += int(bs[b].count());
}
}
for (int i = 0; i < q; i++) {
cout << ans[i] << "\n";
}
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | F - Colored Ball |
| User | yosupo |
| Language | C++ 20 (gcc 12.2) |
| Score | 500 |
| Code Size | 1137 Byte |
| Status | AC |
| Exec Time | 1352 ms |
| Memory | 56200 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 500 / 500 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample00.txt, sample01.txt |
| All | sample00.txt, sample01.txt, testcase00.txt, testcase01.txt, testcase02.txt, testcase03.txt, testcase04.txt, testcase05.txt, testcase06.txt, testcase07.txt, testcase08.txt, testcase09.txt, testcase10.txt, testcase11.txt, testcase12.txt, testcase13.txt, testcase14.txt, testcase15.txt, testcase16.txt, testcase17.txt, testcase18.txt, testcase19.txt, testcase20.txt, testcase21.txt, testcase22.txt, testcase23.txt, testcase24.txt, testcase25.txt, testcase26.txt, testcase27.txt, testcase28.txt, testcase29.txt, testcase30.txt, testcase31.txt, testcase32.txt, testcase33.txt, testcase34.txt, testcase35.txt, testcase36.txt, testcase37.txt, testcase38.txt, testcase39.txt, testcase40.txt, testcase41.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample00.txt | AC | 1 ms | 3416 KiB |
| sample01.txt | AC | 1 ms | 3360 KiB |
| testcase00.txt | AC | 1287 ms | 56132 KiB |
| testcase01.txt | AC | 1289 ms | 56136 KiB |
| testcase02.txt | AC | 1255 ms | 56192 KiB |
| testcase03.txt | AC | 1311 ms | 56080 KiB |
| testcase04.txt | AC | 1231 ms | 56136 KiB |
| testcase05.txt | AC | 1109 ms | 56136 KiB |
| testcase06.txt | AC | 1156 ms | 56100 KiB |
| testcase07.txt | AC | 1287 ms | 56100 KiB |
| testcase08.txt | AC | 1258 ms | 56076 KiB |
| testcase09.txt | AC | 1259 ms | 55968 KiB |
| testcase10.txt | AC | 1267 ms | 56096 KiB |
| testcase11.txt | AC | 1253 ms | 56104 KiB |
| testcase12.txt | AC | 1157 ms | 53180 KiB |
| testcase13.txt | AC | 1284 ms | 56140 KiB |
| testcase14.txt | AC | 1196 ms | 52144 KiB |
| testcase15.txt | AC | 1294 ms | 56140 KiB |
| testcase16.txt | AC | 1188 ms | 54216 KiB |
| testcase17.txt | AC | 1301 ms | 56100 KiB |
| testcase18.txt | AC | 1163 ms | 52904 KiB |
| testcase19.txt | AC | 1260 ms | 56084 KiB |
| testcase20.txt | AC | 1189 ms | 55816 KiB |
| testcase21.txt | AC | 1296 ms | 56072 KiB |
| testcase22.txt | AC | 1325 ms | 56028 KiB |
| testcase23.txt | AC | 1294 ms | 56044 KiB |
| testcase24.txt | AC | 1251 ms | 55300 KiB |
| testcase25.txt | AC | 1283 ms | 56084 KiB |
| testcase26.txt | AC | 1136 ms | 53500 KiB |
| testcase27.txt | AC | 1305 ms | 56032 KiB |
| testcase28.txt | AC | 1122 ms | 51600 KiB |
| testcase29.txt | AC | 1289 ms | 56036 KiB |
| testcase30.txt | AC | 1148 ms | 51480 KiB |
| testcase31.txt | AC | 1312 ms | 56200 KiB |
| testcase32.txt | AC | 1281 ms | 55284 KiB |
| testcase33.txt | AC | 1317 ms | 56100 KiB |
| testcase34.txt | AC | 1249 ms | 52348 KiB |
| testcase35.txt | AC | 1340 ms | 56068 KiB |
| testcase36.txt | AC | 1271 ms | 54728 KiB |
| testcase37.txt | AC | 1350 ms | 56072 KiB |
| testcase38.txt | AC | 1118 ms | 51348 KiB |
| testcase39.txt | AC | 1322 ms | 56068 KiB |
| testcase40.txt | AC | 1335 ms | 56100 KiB |
| testcase41.txt | AC | 1352 ms | 56076 KiB |