QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#274875 | #4357. School Road | omeganot | 0 | 34ms | 19840kb | C++14 | 1.8kb | 2023-12-04 03:43:15 | 2023-12-04 03:43:15 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int MOD = 1E9 + 7;
const int INF = 1E9; const ll INFLL = 1E18;
const int MAX = 1E5;
bool ok = true;
bool span[MAX * 2];
bool seen[MAX];
ll w[MAX];
int depth[MAX];
vector<array<int, 3>> adj[MAX];
vector<array<int, 2>> segm;
struct FenwickTree {
int n;
vector<int> fen;
FenwickTree(int n) {
this->n = n;
fen.resize(n);
}
int lso(int x) {
return (x & (-x));
}
void update(int i, int x) {
for(; i < n; i += lso(i)) {
fen[i] += x;
}
}
int query(int i) {
int ans = 0;
for(; i; i -= lso(i)) {
ans += fen[i];
}
return ans;
}
int query(int i, int j) {
return query(j) - query(i);
}
};
int N; int M;
void dfs(int x) {
seen[x] = true;
for(array<int, 3> i : adj[x]) {
if(!seen[i[0]]) {
w[i[0]] = w[x] + i[2];
depth[i[0]] = depth[x] + 1;
span[i[1]] = true;
dfs(i[0]);
}
}
}
void dfs2(int x, int p) {
for(array<int, 3> i : adj[x]) {
if(i[0] == p) {
continue;
}
if(span[i[1]]) {
dfs2(i[0], x);
} else {
if(min(depth[x], depth[i[0]]) < depth[N - 1] && max(depth[x], depth[i[0]]) > depth[N - 1]) {
ok = false;
} else {
if(w[x] - w[i[0]] != i[2]) {
ok = false;
}
segm.push_back({depth[i[0]], depth[x]});
}
}
}
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cin >> N >> M;
for(int i = 0; i < M; i++) {
int A; int B; int C;
cin >> A >> B >> C;
A--; B--;
adj[A].push_back({B, i, C});
adj[B].push_back({A, i, C});
}
dfs(0);
dfs2(0, -1);
if(ok) {
stable_sort(segm.begin(), segm.end());
FenwickTree fen(N + 1);
for(array<int, 2> i : segm) {
if(fen.query(i[0] + 1, i[1] + 1)) {
ok = false;
}
fen.update(i[1] + 1, 1);
}
}
cout << ok << "\n";
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 7
Accepted
time: 1ms
memory: 5992kb
input:
14 40 8 12 570429827 6 10 592780730 13 14 299807355 4 10 729771483 4 10 729771483 6 9 746405411 2 3 696576351 12 14 192640790 4 13 284900209 1 2 857968292 12 14 192640790 8 12 570429827 6 10 592780730 6 9 746405411 9 11 329648726 4 13 284900209 2 3 696576351 4 10 729771483 5 11 101819611 3 7 1824073...
output:
0
result:
ok single line: '0'
Test #2:
score: -7
Wrong Answer
time: 1ms
memory: 6864kb
input:
41 40 12 19 102666211 30 32 10931929 8 34 88862177 11 29 37284876 6 35 24117284 6 11 24483138 10 35 11019124 4 22 509961847 20 39 77098829 25 33 563195350 22 24 781289886 2 17 238185039 21 27 288940653 3 31 62767763 18 21 350694322 2 40 228181439 3 33 109276182 31 36 203571934 28 34 64098677 14 24 3...
output:
1
result:
wrong answer 1st lines differ - expected: '0', found: '1'
Subtask #2:
score: 0
Wrong Answer
Test #11:
score: 15
Accepted
time: 1ms
memory: 6372kb
input:
18 40 3 10 26965732 5 15 67047331 3 17 42474964 13 15 129212204 9 18 142540287 2 14 27157962 5 15 67047331 5 15 67047331 5 15 67047331 4 16 212978971 6 12 51548223 4 18 192438222 13 16 60052417 16 17 162364835 6 17 55527270 9 11 58810843 3 7 95393586 13 15 129212204 2 17 67824762 5 15 67047331 15 16...
output:
0
result:
ok single line: '0'
Test #12:
score: 0
Accepted
time: 1ms
memory: 6596kb
input:
18 51 5 16 489370441 7 8 674383722 8 11 602435525 1 10 856666364 13 18 650829027 11 14 198398173 3 4 613940394 15 17 123758204 8 11 602435525 3 6 567757815 13 18 650829027 14 15 236674174 3 4 613940394 5 18 956980171 6 16 887883755 3 6 567757815 6 16 887883755 5 18 956980171 4 10 339471731 11 14 198...
output:
0
result:
ok single line: '0'
Test #13:
score: 0
Accepted
time: 28ms
memory: 13496kb
input:
18 200000 8 17 279042056 12 13 907447344 2 16 240997679 3 7 820773384 1 5 45712022 2 16 240997679 4 18 239293113 9 14 389857788 4 18 239293113 4 18 239293113 1 11 409366186 3 12 208134361 2 16 240997679 13 17 263089947 1 5 45712022 4 18 239293113 4 7 528521172 2 9 629050323 8 17 279042056 12 13 9074...
output:
0
result:
ok single line: '0'
Test #14:
score: 0
Accepted
time: 31ms
memory: 13452kb
input:
18 200000 12 14 787958557 3 17 309856381 7 16 602540874 6 12 343810291 12 14 561222017 7 16 125534085 9 17 870511470 7 16 118408057 10 15 452922275 6 12 983055551 3 17 599421596 9 17 344601220 10 15 627856971 6 12 821612223 9 13 652746776 2 3 86605360 14 16 845498029 4 5 531236117 6 12 308924509 5 1...
output:
0
result:
ok single line: '0'
Test #15:
score: 0
Accepted
time: 31ms
memory: 13040kb
input:
18 199999 6 16 312811855 5 10 658600889 8 13 23117786 2 11 838354308 2 16 681349134 9 17 650741046 3 12 902316677 8 13 557626383 7 13 747622028 14 15 246861375 5 10 779694159 11 15 507769124 7 13 310445554 7 13 668124445 5 10 558567743 3 17 535103743 5 10 122705300 4 6 559392043 14 15 427912040 8 13...
output:
0
result:
ok single line: '0'
Test #16:
score: -15
Wrong Answer
time: 19ms
memory: 13700kb
input:
18 200000 8 16 273673687 9 11 360275441 4 6 922867054 4 14 84928274 6 13 968233426 2 12 812572590 11 15 71503040 4 6 980374167 9 11 223188493 8 16 115328427 10 13 361608292 6 13 37132062 10 13 545962114 9 11 390680169 3 14 698353284 7 10 584994105 8 16 55684470 8 16 284428277 6 13 124379775 2 5 2317...
output:
0
result:
wrong answer 1st lines differ - expected: '1', found: '0'
Subtask #3:
score: 0
Wrong Answer
Test #18:
score: 0
Wrong Answer
time: 34ms
memory: 19840kb
input:
100000 99999 42115 93495 19881095 21969 68351 161710 7405 86343 27129 37307 45676 320013 30388 71545 117761 22026 68957 65332 77949 81644 2281387 24865 95079 341488 9849 98496 2548159 53911 79572 4962105 24880 62622 1678564 15943 22168 1524688 67424 78323 2450655 32175 74893 1908332 35640 39305 1043...
output:
1
result:
wrong answer 1st lines differ - expected: '0', found: '1'
Subtask #4:
score: 0
Wrong Answer
Test #57:
score: 35
Accepted
time: 0ms
memory: 7456kb
input:
18 400 11 18 145314505 1 18 242896789 1 18 242896789 5 13 31030812 13 18 93451080 1 18 242896789 1 7 123378068 1 18 242896789 1 18 242896789 1 18 242896789 1 18 242896789 1 18 242896789 1 18 242896789 1 3 42183985 1 18 242896789 13 18 93451080 1 18 242896789 13 18 93451080 1 18 242896789 1 18 242896...
output:
0
result:
ok single line: '0'
Test #58:
score: 0
Accepted
time: 23ms
memory: 14904kb
input:
18 200000 1 18 758096510 1 18 758096510 1 18 758096510 1 18 758096510 1 18 758096510 1 18 758096510 1 18 758096510 1 18 758096510 1 18 758096510 1 18 758096510 1 18 758096510 1 18 758096510 1 18 758096510 1 18 758096510 1 18 758096510 1 18 758096510 1 18 758096510 1 18 758096510 1 18 758096510 1 18 ...
output:
0
result:
ok single line: '0'
Test #59:
score: -35
Wrong Answer
time: 28ms
memory: 17668kb
input:
18 200000 1 16 142470606 1 16 142470606 1 16 142470606 1 16 142470606 1 18 403405575 1 18 403405575 1 18 403405575 1 18 403405575 1 18 403405575 1 16 142470606 1 16 142470606 1 18 403405575 1 18 403405575 1 18 403405575 1 18 403405575 1 18 403405575 1 16 142470606 1 18 403405575 1 16 142470606 16 18...
output:
0
result:
wrong answer 1st lines differ - expected: '1', found: '0'
Subtask #5:
score: 0
Skipped
Dependency #1:
0%