제출 #932481

#제출 시각아이디문제언어결과실행 시간메모리
932481andrei_boacaWorst Reporter 4 (JOI21_worst_reporter4)C++17
14 / 100
226 ms206652 KiB
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
const ll INF=1e17;
map<ll,ll> nrm;
ll nr;
vector<ll> muchii[200005];
ll n,par[200005],v[200005],cost[200005];
ll dp[5005][5005];
void dfs(ll nod)
{
    for(ll i:muchii[nod])
    {
        dfs(i);
        for(int j=nr;j>=1;j--)
            dp[nod][j]+=dp[i][j];
    }
    for(int i=1;i<=nr;i++)
        if(i!=v[nod])
            dp[nod][i]+=cost[nod];
    for(int i=nr-1;i>=1;i--)
        dp[nod][i]=min(dp[nod][i],dp[nod][i+1]);
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cin>>n;
    vector<ll> vals;
    for(int i=1;i<=n;i++)
    {
        cin>>par[i]>>v[i]>>cost[i];
        if(i!=1)
            muchii[par[i]].push_back(i);
        vals.push_back(v[i]);
    }
    sort(vals.begin(),vals.end());
    vals.erase(unique(vals.begin(),vals.end()),vals.end());
    for(int i=0;i<vals.size();i++)
        nrm[vals[i]]=i+1;
    nr=vals.size();
    for(int i=1;i<=n;i++)
        v[i]=nrm[v[i]];
    dfs(1);
    cout<<dp[1][1];
    return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

worst_reporter2.cpp: In function 'int main()':
worst_reporter2.cpp:40:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |     for(int i=0;i<vals.size();i++)
      |                 ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...