# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
584806 |
2022-06-28T03:59:28 Z |
jack715 |
Friend (IOI14_friend) |
C++14 |
|
40 ms |
65536 KB |
#include "friend.h"
#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define pp pop_back
#define mp make_pair
#define bb back
#define ff first
#define ss second
using namespace std;
// Find out best sample
vector<int> par, conf;
vector<vector<int> > dp, path;
int run(int indx, int state) {
if (dp[indx][state] != -1) return dp[indx][state];
int ret = 0;
for (int next : path[indx]) {
if (next == par[indx]) continue;
par[next] = indx;
if (state) ret += run(next, 1-state);
else ret += max(run(next, 1-state), run(next, state));
}
if (state) ret += conf[indx];
return dp[indx][state] = ret;
}
int findSample(int n,int confidence[],int host[],int protocol[]){
par.resize(n, -1);
dp.resize(n, {-1, -1});
path.resize(n), conf.resize(n);
for (int i = 0; i < n; i++) conf[i] = confidence[i];
for (int i = 1; i < n; i++) {
if (protocol[i] == 0) {
path[i].pb(host[i]);
path[host[i]].pb(i);
} else if (protocol[i] == 1) {
for (int con : path[host[i]]) {
path[i].pb(con);
path[con].pb(i);
}
} else {
for (int con : path[host[i]]) {
path[i].pb(con);
path[con].pb(i);
}
path[i].pb(host[i]);
path[host[i]].pb(i);
}
}
return max(run(0, 1), run(0, 0));
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 KB |
Output is correct |
3 |
Correct |
1 ms |
212 KB |
Output is correct |
4 |
Correct |
0 ms |
212 KB |
Output is correct |
5 |
Correct |
0 ms |
212 KB |
Output is correct |
6 |
Correct |
1 ms |
212 KB |
Output is correct |
7 |
Runtime error |
40 ms |
65536 KB |
Execution killed with signal 9 |
8 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
212 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
36 ms |
65536 KB |
Execution killed with signal 9 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 KB |
Output is correct |
3 |
Correct |
1 ms |
212 KB |
Output is correct |
4 |
Correct |
0 ms |
212 KB |
Output is correct |
5 |
Correct |
1 ms |
468 KB |
Output is correct |
6 |
Correct |
1 ms |
340 KB |
Output is correct |
7 |
Correct |
1 ms |
212 KB |
Output is correct |
8 |
Correct |
1 ms |
340 KB |
Output is correct |
9 |
Correct |
1 ms |
212 KB |
Output is correct |
10 |
Correct |
1 ms |
340 KB |
Output is correct |
11 |
Correct |
1 ms |
364 KB |
Output is correct |
12 |
Correct |
1 ms |
340 KB |
Output is correct |
13 |
Correct |
1 ms |
340 KB |
Output is correct |
14 |
Correct |
0 ms |
340 KB |
Output is correct |
15 |
Correct |
1 ms |
340 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
212 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 KB |
Output is correct |
3 |
Runtime error |
33 ms |
65536 KB |
Execution killed with signal 9 |
4 |
Halted |
0 ms |
0 KB |
- |