Submission #1183923

#TimeUsernameProblemLanguageResultExecution timeMemory
1183923lance0Friend (IOI14_friend)C++20
Compilation error
0 ms0 KiB
#include "friend.h"
using namespace std;

int findSample(int n, int confidence[], int host[], int protocol[]) {
	int dp[n][2] = {};
	for (int i = 0; i < n; i++) {
		dp[i][0] = confidence[i];
	}
	for (int i = n-1; i > 0; i--) {
		int j = host[i];
		if (protocol[i] == 0) {
			dp[j][0] += dp[i][1]; // dont take invitee
			dp[j][1] += max(dp[i][0], dp[i][1]); // free to do anything with invitee
		} else if (protocol[i] == 1) {
			dp[j][0] += max(dp[i][0], dp[i][1]); // free to do anything with invitee
			dp[j][0] = max(dp[j][0], dp[j][1] + dp[i][0]); // as well as the case of taking host but not invitee (1 person case)
			dp[j][1] += dp[i][1]; //dont take either
		} else {
			dp[j][0] = max(dp[j][0] + dp[i][1], dp[i][0] + dp[j][1]); // taking one is fine
			dp[j][1] += dp[i][1]; // and so is taking none
		}
		return max(dp[0][0], dp[0][1]) //best is dependent on taking or not person 0, so just look at both.
	}
}

Compilation message (stderr)

friend.cpp: In function 'int findSample(int, int*, int*, int*)':
friend.cpp:13:37: error: 'max' was not declared in this scope
   13 |                         dp[j][1] += max(dp[i][0], dp[i][1]); // free to do anything with invitee
      |                                     ^~~
friend.cpp:15:37: error: 'max' was not declared in this scope
   15 |                         dp[j][0] += max(dp[i][0], dp[i][1]); // free to do anything with invitee
      |                                     ^~~
friend.cpp:19:36: error: 'max' was not declared in this scope
   19 |                         dp[j][0] = max(dp[j][0] + dp[i][1], dp[i][0] + dp[j][1]); // taking one is fine
      |                                    ^~~
friend.cpp:22:24: error: 'max' was not declared in this scope
   22 |                 return max(dp[0][0], dp[0][1]) //best is dependent on taking or not person 0, so just look at both.
      |                        ^~~
friend.cpp:22:47: error: expected ';' before '}' token
   22 |                 return max(dp[0][0], dp[0][1]) //best is dependent on taking or not person 0, so just look at both.
      |                                               ^
      |                                               ;
   23 |         }
      |         ~