QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#549713 | #5663. Tangle: A DAG for storing transactions | Tiga_Pilot_2# | TL | 1371ms | 458172kb | C++20 | 1.7kb | 2024-09-06 20:03:15 | 2024-09-06 20:03:15 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define rep(i, a, b) for(int i = a; i < (b); ++i)
#define per(i, a, b) for(int i = a; i > (b); --i)
#define ar array
#define sz(x) (int) (x).size()
#define pii pair<int,int>
#define fi first
#define se second
typedef long long ll;
typedef pair<ll,ll> pll;
typedef pair<double,double> pdd;
typedef pair<double,int> pdi;
typedef vector<int> vi;
#define all(x) (x).begin(), (x).end()
template<typename T>
void min_self(T& A, T B) {
A = min(A,B);
}
template<typename T>
void max_self(T& A, T B) {
A = max(A,B);
}
const int mxn=1e4;
int n;
ll th;
void solve() {
cin >>n >>th;
vi w(n+2,0);
vector<pii> c(n+2);
rep(i,2,n+2) {
int x; cin >>x;
assert(x==i);
cin >>c[i].fi >>c[i].se >>w[i];
}
vi cw(n+2,0);
vector<set<int>> vs(n+2);
per(i,n+1,-1) {
vs[i].insert(i);
if(i>1) {
int ci = c[i].fi;
{
for(auto vsi : vs[i]) {
vs[ci].insert(vsi);
}
}
ci = c[i].se;
{
for(auto vsi : vs[i]) {
vs[ci].insert(vsi);
}
}
}
}
rep(i,0,n+2) {
for(auto vsi : vs[i]) {
cw[i] += w[vsi];
}
}
vector<pii> ans;
rep(i,2,n+1) {
if(cw[i]>=th) {
ans.push_back({i,cw[i]});
}
}
rep(i,0,sz(ans)) {
cout <<ans[i].fi <<" " <<ans[i].se <<"\n";
}
cout <<sz(ans) <<"\n";
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
solve();
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3656kb
input:
6 12 2 0 1 3 3 0 2 2 4 1 2 1 5 2 3 3 6 3 4 4 7 3 5 5
output:
2 18 3 14 2
result:
ok 3 lines
Test #2:
score: 0
Accepted
time: 0ms
memory: 3644kb
input:
21 20 2 0 1 2 3 1 0 5 4 1 0 2 5 2 1 1 6 1 3 1 7 5 4 1 8 3 7 5 9 2 4 1 10 4 9 1 11 9 4 5 12 4 8 2 13 3 12 2 14 2 10 5 15 11 12 4 16 3 9 2 17 1 16 4 18 0 7 3 19 11 5 2 20 14 4 5 21 19 5 2 22 18 9 4
output:
2 51 3 25 4 50 5 26 7 21 9 35 6
result:
ok 7 lines
Test #3:
score: 0
Accepted
time: 1ms
memory: 3672kb
input:
99 250 2 1 0 1 3 0 2 2 4 3 2 1 5 4 3 4 6 1 2 3 7 5 0 1 8 0 7 2 9 0 8 3 10 3 4 5 11 1 4 4 12 5 6 3 13 12 8 2 14 13 2 3 15 4 10 5 16 5 6 1 17 7 10 1 18 2 5 5 19 9 7 4 20 16 12 5 21 6 3 1 22 7 9 1 23 13 11 1 24 12 9 3 25 7 22 3 26 10 20 5 27 11 12 2 28 26 9 5 29 18 6 5 30 13 17 4 31 25 12 4 32 31 20 3 ...
output:
2 297 3 293 4 290 5 275 6 255 5
result:
ok 6 lines
Test #4:
score: 0
Accepted
time: 1ms
memory: 3724kb
input:
100 200 2 0 1 2 3 2 0 5 4 2 0 2 5 4 0 4 6 2 5 4 7 5 0 5 8 4 2 4 9 2 6 4 10 0 9 3 11 2 8 2 12 4 2 1 13 7 5 3 14 3 4 5 15 10 0 5 16 6 13 1 17 9 10 4 18 12 6 4 19 17 12 1 20 10 8 4 21 2 4 2 22 6 17 2 23 3 12 4 24 21 12 2 25 14 10 5 26 14 21 4 27 13 11 1 28 21 6 1 29 10 5 3 30 26 6 1 31 13 8 5 32 25 19 ...
output:
2 303 3 210 4 296 5 270 6 252 9 225 10 221 12 222 14 201 9
result:
ok 10 lines
Test #5:
score: 0
Accepted
time: 0ms
memory: 4244kb
input:
199 800 2 1 0 1 3 0 2 2 4 3 0 4 5 4 0 3 6 4 3 2 7 0 2 1 8 5 7 3 9 3 0 2 10 1 9 4 11 5 2 4 12 9 4 3 13 7 12 2 14 10 0 1 15 1 6 2 16 5 11 5 17 4 15 4 18 4 14 5 19 11 0 1 20 3 13 5 21 3 4 2 22 20 14 2 23 14 1 5 24 7 19 5 25 13 17 4 26 10 23 5 27 17 12 4 28 12 13 5 29 24 1 4 30 19 7 4 31 18 22 5 32 17 1...
output:
0
result:
ok single line: '0'
Test #6:
score: 0
Accepted
time: 1371ms
memory: 458172kb
input:
5999 15000 2 0 1 2 3 2 1 1 4 3 1 4 5 1 2 5 6 4 1 1 7 2 6 3 8 4 1 5 9 7 8 2 10 0 4 4 11 3 2 1 12 8 1 1 13 10 3 2 14 1 0 3 15 13 1 3 16 0 4 5 17 6 8 2 18 1 6 1 19 5 2 2 20 4 6 5 21 8 0 2 22 9 20 4 23 17 7 4 24 17 0 1 25 23 3 4 26 12 15 1 27 15 5 3 28 17 25 2 29 17 24 3 30 28 9 2 31 22 6 2 32 12 9 3 33...
output:
2 18207 3 18198 4 18196 5 17811 6 18160 7 18147 8 18160 9 18108 10 18039 11 17672 12 17781 13 18035 14 15556 15 17938 16 18046 17 18138 18 17953 19 16110 20 18097 21 17976 22 18092 23 18113 24 18004 25 18001 26 17560 27 17707 28 17997 29 17998 30 16680 31 18085 32 17770 33 17680 34 17906 35 17902 36...
result:
ok 512 lines
Test #7:
score: -100
Time Limit Exceeded
input:
9999 25000 2 0 1 4 3 2 1 3 4 1 0 3 5 1 4 2 6 3 2 3 7 3 5 2 8 4 6 1 9 3 0 5 10 6 0 1 11 9 6 1 12 9 10 2 13 2 7 2 14 9 4 5 15 7 13 1 16 9 3 4 17 14 4 1 18 6 12 5 19 17 0 5 20 17 4 3 21 10 13 3 22 8 0 3 23 7 19 4 24 13 20 2 25 24 13 1 26 23 20 2 27 19 0 3 28 15 11 2 29 10 15 4 30 10 2 2 31 27 25 4 32 2...