Submission #131422

# Submission time Handle Problem Language Result Execution time Memory
131422 2019-07-17T06:57:11 Z Mahdi_Jfri Friend (IOI14_friend) C++14
27 / 100
3 ms 632 KB
#include "friend.h"
#include<bits/stdc++.h>

using namespace std;

#define ll long long
#define pb push_back

const int maxn = 1e3 + 20;

vector<int> adj[maxn] , adj2[maxn];

int dp[maxn][2] , a[maxn];
bool is[maxn];

void plant(int v)
{
	vector<int> x , y;
	dp[v][1] = a[v];
	for(auto u : adj[v])
	{
		plant(u);
		if(is[u])
			y.pb(u);
		else
			x.pb(u);

		dp[v][1] += dp[u][is[u]];
	}

	// az x hichi barnemidarim
	int sum1 = 0;
	for(auto u : y)
		sum1 += dp[u][1];
	dp[v][0] = max(dp[v][0] , sum1);

	// w avalin ke barmidarim
	for(auto w : x)
	{
		int sum = 0;
		for(auto u : x)
			sum += dp[u][u >= w];
		for(auto u : y)
			sum += dp[u][u < w];
		dp[v][0] = max(dp[v][0] , sum);
	}

	dp[v][1] = max(dp[v][1] , dp[v][0]);
}

int findSample(int n,int A[],int host[],int pt[])
{
	bool has[3] = {0 , 0 , 0};
	for(int i = 1; i < n; i++)
	{
		has[pt[i]] = 1;
		adj[host[i]].pb(i);
		is[i] = (pt[i] == 1);
	}

	for(int i = 0; i < n; i++)
		a[i] = A[i];

	plant(0);
	return dp[0][1];
}

Compilation message

friend.cpp: In function 'int findSample(int, int*, int*, int*)':
friend.cpp:53:7: warning: variable 'has' set but not used [-Wunused-but-set-variable]
  bool has[3] = {0 , 0 , 0};
       ^~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Incorrect 2 ms 376 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 504 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 3 ms 580 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 3 ms 420 KB Output is correct
8 Correct 3 ms 380 KB Output is correct
9 Correct 3 ms 376 KB Output is correct
10 Correct 3 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 380 KB Output is correct
4 Correct 2 ms 380 KB Output is correct
5 Correct 3 ms 632 KB Output is correct
6 Correct 3 ms 376 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 3 ms 376 KB Output is correct
9 Correct 3 ms 376 KB Output is correct
10 Correct 2 ms 376 KB Output is correct
11 Correct 2 ms 376 KB Output is correct
12 Correct 3 ms 376 KB Output is correct
13 Correct 3 ms 376 KB Output is correct
14 Correct 2 ms 376 KB Output is correct
15 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 3 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Correct 2 ms 632 KB Output is correct
10 Correct 3 ms 504 KB Output is correct
11 Incorrect 3 ms 376 KB Output isn't correct
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 380 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Correct 2 ms 376 KB Output is correct
10 Correct 2 ms 376 KB Output is correct
11 Incorrect 2 ms 376 KB Output isn't correct
12 Halted 0 ms 0 KB -