# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
242260 | tqbfjotld | Magic Tree (CEOI19_magictree) | C++14 | 65 ms | 3060 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
int n,m,k;
int p[100005];
int d[100005];
long long w[100005];
int main(){
scanf("%d%d%d",&n,&m,&k);
for (int x = 1; x<n; x++){
scanf("%d",&p[x]);
p[x]--;
}
for (int x = 0; x<m; x++){
int a,b;
long long c;
scanf("%d%d%lld",&a,&b,&c);
a--;
d[a] = b;
w[a] = c;
}
vector<int> v;
for (int x = 0; x<n; x++){
if (w[x]==0) continue;
if (v.empty()) v.push_back(-d[x]);
else if (-d[x]>=v[(int)v.size()-1]){
v.push_back(-d[x]);
}
else{
int pos = upper_bound(v.begin(),v.end(),-d[x])-v.begin();
v[pos] = -d[x];
}
}
printf("%d",v.size());
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |