Submission #242280

#TimeUsernameProblemLanguageResultExecution timeMemory
242280cheehengMagic Tree (CEOI19_magictree)C++14
14 / 100
70 ms10104 KiB
#include <bits/stdc++.h> using namespace std; vector<int> AdjList[100005]; int d[100005]; int w[100005]; int L[100005]; int main(){ int n, m, k; scanf("%d%d%d", &n, &m, &k); bool subtask3 = true; for(int i = 2; i <= n; i ++){ int p; scanf("%d", &p); subtask3 &= p == i-1; AdjList[p].push_back(i); } bool subtask2 = true; long long ans2 = 0; memset(d, -1, sizeof(d)); for(int i = 1; i <= m; i ++){ int x, y, z; scanf("%d%d%d", &x, &y, &z); subtask3 &= (z == 1); subtask2 &= AdjList[x].empty(); d[x] = y; w[x] = z; ans2 += w[x]; } if(subtask2){ printf("%lld", ans2); return 0; } if(subtask3){ int lis = 0; /*for(int i = n; i >= 2; i --){ printf("%d ", d[i]); } printf("\n");*/ for(int i = n; i >= 2; i --){ if(d[i] == -1){continue;} int pos = upper_bound(L, L+lis, d[i])-L; L[pos] = d[i]; if(pos == lis){ lis ++; } } printf("%d\n", lis); return 0; }else{ throw; } return 0; }

Compilation message (stderr)

magictree.cpp: In function 'int main()':
magictree.cpp:12:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d%d", &n, &m, &k);
     ~~~~~^~~~~~~~~~~~~~~~~~~~~~
magictree.cpp:17:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &p);
         ~~~~~^~~~~~~~~~
magictree.cpp:28:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d%d", &x, &y, &z);
         ~~~~~^~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...