Submission #147883

#TimeUsernameProblemLanguageResultExecution timeMemory
147883willi19Friend (IOI14_friend)C++14
8 / 100
3 ms404 KiB
#include <cstdio>
#include <cassert>
#define __MAXSIZE__ 100002
#include "friend.h"
#include<bits/stdc++.h>
using namespace std;
set<int,greater<int> > s;
int with[100100],without[100100];
int findSample(int n,int confidence[],int host[],int protocol[]){
    s.insert(confidence[0]);
    with[0]=confidence[0];
    for(int i=1;i<n;i++)
    {
        without[i]=max(with[i-1],without[i-1]);
        if(protocol[i]==0)
        {
            with[i]=max(with[host[i]]-confidence[host[i]]+confidence[i],without[i-1]);
        }
        if(protocol[i]==1)
            with[i]=with[host[i]]+confidence[i];
        if(protocol[i]==2)
            with[i]=with[host[i]]+confidence[i]-confidence[host[i]];
        s.insert(confidence[i]);
        //cout<<i<<" "<<ans[i]<<"\n";
    }
    return max(with[n-1],without[n-1]);
}
#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...