QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#102600 | #5252. Deforestation | csw_ccc# | AC ✓ | 17ms | 18560kb | C++14 | 1.7kb | 2023-05-03 14:58:42 | 2023-05-03 14:58:44 |
Judging History
answer
#include <iostream>
#include <cstring>
#include <map>
#include <cstdio>
#include <queue>
#include <algorithm>
#define ll long long
using namespace std;
struct node
{
int x;
int nxt;
};
const int maxn = 100000 + 5;
int Max_w;
node a[maxn << 1];
int len, h[maxn];
int w[maxn];
int chuan[maxn];
int tot;
int ans;
template<class T>
inline void read(T &x);
inline void add(int x, int y)
{
len++; a[len].x = y; a[len].nxt = h[x]; h[x] = len;
}
void input(int x, int fa)
{
add(x, fa); add(fa, x);
int n;
read(w[x]); read(n);
for (int i = 1; i <= n; i++)
input(++tot,x);
}
void init()
{
read(Max_w);
input(++tot,0);
}
priority_queue<int > q[maxn];
void dfs(int x, int fa)
{
// printf("x:%d fa:%d w:%d\n",x,fa,w[x]);
ll tot_chuan = 0;
for (int p = h[x]; p; p = a[p].nxt)
{
int v = a[p].x;
if (v == fa) continue;
dfs(v,x);
if (chuan[v]) q[x].push(chuan[v]), tot_chuan += chuan[v];
}
while (tot_chuan > Max_w)
{
int t = q[x].top();
q[x].pop();
tot_chuan -= t;
ans++;
}
w[x] += tot_chuan;
ans += w[x]/Max_w;
w[x] %= Max_w;
chuan[x] = w[x];
}
void work()
{
dfs(1,0);
if (chuan[1] != 0) ans++;
// for (int i = 1; i <= tot; i++) cout << chuan[i] << ' ';
// puts("");
}
void print()
{
cout << ans << endl;
}
int main()
{
// freopen("test.in","r",stdin);
// freopen("test.out","w",stdout);
init();
work();
print();
return 0;
}
template<class T>
inline void read(T &x)
{
x = 0; T s = 1;
char c = getchar();
while(c < '0' || c > '9') {if(c == '-') s = -1; c = getchar();}
while(c >= '0' && c <= '9') {x = x*10+c-'0'; c = getchar();}
x *= s;
}
详细
Test #1:
score: 100
Accepted
time: 5ms
memory: 10468kb
input:
999900000 7339 3 14947 2 12850 3 8986 10 11599 9 8889 10 10711 4 8015 1 11626 0 9492 1 7017 0 8863 0 8632 0 5321 5 9906 0 11687 0 9845 0 10469 0 11708 0 14950 5 11934 0 11922 0 13101 0 12000 0 9082 0 9273 5 12296 0 6119 0 9201 0 12652 0 12957 0 7454 5 12515 0 12976 0 10358 0 13997 0 8371 0 10181 5 8...
output:
1
result:
ok single line: '1'
Test #2:
score: 0
Accepted
time: 7ms
memory: 9572kb
input:
2 1 99999 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ...
output:
99999
result:
ok single line: '99999'
Test #3:
score: 0
Accepted
time: 8ms
memory: 15492kb
input:
7 10000 2 10000 0 10000 2 10000 0 10000 2 10000 0 10000 2 10000 0 10000 2 10000 0 10000 2 10000 0 10000 2 10000 0 10000 2 10000 0 10000 2 10000 0 10000 2 10000 0 10000 2 10000 0 10000 2 10000 0 10000 2 10000 0 10000 2 10000 0 10000 2 10000 0 10000 2 10000 0 10000 2 10000 0 10000 2 10000 0 10000 2 10...
output:
142862500
result:
ok single line: '142862500'
Test #4:
score: 0
Accepted
time: 10ms
memory: 18560kb
input:
2 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10000 1 10...
output:
500000000
result:
ok single line: '500000000'
Test #5:
score: 0
Accepted
time: 9ms
memory: 11404kb
input:
9717 14907 2 6953 2 10004 2 10949 2 11766 2 14015 2 5640 2 10370 2 6432 2 7602 2 10238 2 9755 2 5788 2 10885 2 11858 2 9182 2 14174 0 12614 0 12080 1 12497 0 7708 2 9108 1 14948 0 9107 1 13540 0 7400 2 6303 2 14462 1 8021 0 7659 1 7232 0 14314 2 9495 1 8459 0 13069 1 5777 0 12734 2 7061 2 12810 2 13...
output:
105756
result:
ok single line: '105756'
Test #6:
score: 0
Accepted
time: 3ms
memory: 11292kb
input:
39375 7550 2 13825 2 11034 2 7836 2 11683 2 9571 2 13888 2 11680 2 5713 2 13175 2 11057 2 7849 2 5598 2 9557 2 7974 2 13285 2 8251 0 13513 0 6254 1 11361 0 13651 2 6286 1 10397 0 5450 1 9590 0 12571 2 7519 2 5512 1 5430 0 9148 1 5281 0 6991 2 6310 1 12868 0 13487 1 6045 0 12298 2 10198 2 11601 2 127...
output:
29976
result:
ok single line: '29976'
Test #7:
score: 0
Accepted
time: 15ms
memory: 10364kb
input:
874898 10304 7 7634 3 7362 9 7960 8 12298 2 5668 1 11762 4 14379 4 6126 1 8135 0 12246 1 13096 0 10376 1 14935 0 9311 0 6256 5 14752 1 12903 0 9645 1 5986 0 14329 0 8683 0 6501 0 6337 1 14416 5 11161 1 10643 0 8900 0 13527 0 9644 0 11961 0 13251 4 9559 1 5799 0 7021 1 13442 0 12589 0 8301 0 5765 7 1...
output:
2116
result:
ok single line: '2116'
Test #8:
score: 0
Accepted
time: 17ms
memory: 10400kb
input:
907686 6329 4 11400 6 5913 8 6890 1 6329 9 10018 5 5234 4 14656 2 11517 0 7330 0 6160 1 11296 1 8221 0 14502 2 14628 0 11846 0 11999 1 5458 0 9845 7 14799 1 9492 0 5534 1 8513 0 12919 1 11676 0 7286 1 8698 0 11372 0 13707 0 12517 0 12094 4 11587 2 5442 0 12160 0 10344 2 13437 0 12069 0 13431 1 9757 ...
output:
2108
result:
ok single line: '2108'
Test #9:
score: 0
Accepted
time: 8ms
memory: 10648kb
input:
19439 9535 1 14066 1 13123 8 14498 10 12761 10 13889 3 5303 4 6155 5 8591 1 9992 0 6323 1 5747 0 12132 1 12189 0 9518 1 11132 0 12872 1 5985 0 12140 1 7932 4 6628 1 9177 0 9398 1 7981 0 7774 1 9833 0 7483 1 12017 0 6505 4 8924 2 8786 0 5604 0 7191 1 14168 0 11672 1 13618 0 8420 1 7884 0 5693 4 12159...
output:
64996
result:
ok single line: '64996'
Extra Test:
score: 0
Extra Test Passed