# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
71573 | 2018-08-25T07:26:15 Z | aklo | Paprike (COI18_paprike) | C++14 | 177 ms | 14116 KB |
#include<iostream> #include<vector> #include<cstring> #include<algorithm> using namespace std; int n,k,r=0,b,br=0; int niz[100005],zbr[100005],bio[100005]; pair <int, int> a[100005]; vector <int> v[100005]; vector <int> ve; void dfs(int x){ bio[x]=1; if(zbr[x]+niz[x]<=k){ for(int i=0; i<ve.size(); i++){ zbr[ve[i]]+=niz[x]; } zbr[x]+=niz[x]; if(r<ve.size()){ ve[r]=x; } else{ ve.push_back(x); } r++; for(int i=0; i<v[x].size(); i++){ if(bio[v[x][i]]==0){ zbr[v[x][i]]=zbr[x]; dfs(v[x][i]); } } } else{ br++; //cout<<x<<endl<<endl; b=ve.size(); for(int i=0; i<b; i++){ ve.pop_back(); } r=0; zbr[x]=niz[x]; ve.push_back(x); r++; for(int i=0; i<v[x].size(); i++){ if(bio[v[x][i]]==0){ zbr[v[x][i]]=zbr[x]; dfs(v[x][i]); } } } } int main () { cin>>n>>k; for(int i=1; i<=n; i++){ cin>>niz[i]; } for(int i=1; i<n; i++){ cin>>a[i].first; cin>>a[i].second; v[a[i].first].push_back(a[i].second); v[a[i].second].push_back(a[i].first); } dfs(1); cout<<br<<endl; //for(int i=1; i<=n; i++){ // cout<<zbr[i]<<endl; //} return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 6 ms | 2680 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 177 ms | 12908 KB | Output is correct |
2 | Correct | 157 ms | 13956 KB | Output is correct |
3 | Correct | 152 ms | 14000 KB | Output is correct |
4 | Correct | 146 ms | 14000 KB | Output is correct |
5 | Correct | 152 ms | 14004 KB | Output is correct |
6 | Correct | 159 ms | 14004 KB | Output is correct |
7 | Correct | 142 ms | 14116 KB | Output is correct |
8 | Correct | 115 ms | 14116 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 6 ms | 2680 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 6 ms | 2680 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |