Submission #103793

#TimeUsernameProblemLanguageResultExecution timeMemory
103793naoaiFriend (IOI14_friend)C++14
35 / 100
38 ms3448 KiB
#include "friend.h"
#include <bits/stdc++.h>

using namespace std;

const int nmax = 1e5 + 5;

int d[nmax + 1][2];

int findSample(int n,int confidence[],int host[],int protocol[]){
    for (int i = 0; i < n; ++ i)
        d[i][1] = confidence[i];

	for (int i = n - 1; i > 0; -- i) {
        int h = host[i];

        if (protocol[i] == 0) {
            d[h][0] = d[h][0] + max(d[i][0], d[i][1]);
            d[h][1] = d[h][1] + d[i][0];
        } else if (protocol[i] == 1) {
            d[h][0] = d[h][0] + d[i][0];
            d[h][1] = max(d[h][1] + max(d[i][0], d[i][1]), d[h][0] + d[i][1]);
        } else {
            d[h][0] = d[h][0] + d[i][0];
            d[h][1] = max(d[h][0] + d[i][1], d[h][1] + d[i][0]);
        }
	}

	return max(d[0][0], d[0][1]);
}

Compilation message (stderr)

friend.cpp: In function 'int findSample(int, int*, int*, int*)':
friend.cpp:11:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
     for (int i = 0; i < n; ++ i)
     ^~~
friend.cpp:14:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
  for (int i = n - 1; i > 0; -- i) {
  ^~~
#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...