QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#593418 | #8136. Rebellious Edge | ucup-team1766 | WA | 41ms | 3564kb | C++20 | 1.8kb | 2024-09-27 13:55:41 | 2024-09-27 13:55:42 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define ar array
#define F first
#define S second
typedef int uci;
#define int long long
#define ll long long
void solve(){
ll T; cin >> T;
for(ll t = 0; t < T; ++t) {
ll N,M; cin >> N >> M;
vector<vector<pair<ll,ll>>> incoming(N);
ll ru,rv,rw;
for(ll m = 0; m < M; m++) {
ll U,V,W; cin >> U >> V >> W; U--; V--; W;
if(U < V) incoming[V].push_back({U,W});
else {ru = U; rv = V; rw = W;}
}
ll ans = 1000000000000000000;
bool gd = true;
ll noans = 0;
for(ll i = 1; i < N; i++) {
if(!incoming[i].size()) {gd = false; break;}
ll c = incoming[i][0].S;
for(ll j = 1; j < incoming[i].size(); j++) c = min(c,incoming[i][j].S);
noans += c;
}
if(gd) ans = noans;
gd=true;
ll yeans = rw;
vector<ll> DP(N,-1);
if(rv == 0) {gd = false; goto skip;}
DP[0] = 0;
for(ll i = 1; i < N; i++) {
if(i == rv) continue;
if(!incoming[i].size()) {gd = false; break;} // this shouldnt happen, but w/e.
for(ll j = 0; j < incoming[i].size(); j++) {
if(DP[incoming[i][j].F] >= 0) {
ll co = DP[incoming[i][j].F] + incoming[i][j].S;
if(DP[i] < 0) DP[i] = co;
else DP[i] = min(DP[i],co);
}
}
}
if(DP[ru] < 0) gd = false;
else yeans += DP[ru];
skip:
if(gd) ans = min(ans, yeans);
cout << ans << "\n";
}
}
uci main(){
ios_base::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
solve();
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3556kb
input:
3 5 6 1 2 4 1 3 2 2 3 0 3 4 1 4 5 1 5 2 1 4 4 1 2 4 1 3 6 1 4 8 4 2 1000000 3 3 1 2 100 2 1 10 2 3 1000
output:
5 18 1100
result:
ok 3 number(s): "5 18 1100"
Test #2:
score: -100
Wrong Answer
time: 41ms
memory: 3564kb
input:
50000 4 5 2 4 998973548 2 3 501271695 4 1 778395982 1 4 32454891 1 2 757288934 4 5 1 4 720856669 2 3 665098951 3 4 407461517 2 1 866914401 1 2 457859826 4 5 1 2 75288664 1 4 624893594 3 2 458973866 2 4 769074655 2 3 834773751 4 5 2 3 237060634 2 4 297307882 3 4 200383586 1 2 42856502 3 1 16574713 4 ...
output:
1291015520 1530420294 1534956009 480300722 1366795927 1541095843 2493849488 858095911 910980337 406063795 570428617 1051598350 612891589 1265994009 517769091 1678219738 1556463491 93634961 960978736 984886788 1696503797 1002892611 1969660290 1431417780 1515267731 977157479 1937478556 654475526 14011...
result:
wrong answer 9th numbers differ - expected: '1034153425', found: '910980337'