Submission #96724

#TimeUsernameProblemLanguageResultExecution timeMemory
96724Retro3014Candies (JOI18_candies)C++17
8 / 100
186 ms69100 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include <stdio.h>


using namespace std;
#define MAX_N 2000
#define INF 1000000000000000000LL
typedef long long ll;

int N;
vector<ll> v;
ll dp[MAX_N+10][MAX_N+10];

int main(){
	scanf("%d", &N);
	for(int i=0; i<N; i++){
		ll x;
		scanf("%lld", &x); v.push_back(x);
	}
	for(int i=0; i<N; i++){
		for(int j=1; j<=((N+1)/2); j++){
			dp[i][j] = -INF;
		}
	}
	for(int i=0; i<N; i++){
		for(int j=1; j<=((i+2)/2); j++){
			if(i==0){
				dp[i][j] = v[i];
			}else if(i==1){
				dp[i][j] = max(v[0], v[1]);
			}else{
				dp[i][j] = max(dp[i-1][j], dp[i-2][j-1]+v[i]);
			}
		}
	}
	for(int i=1; i<=((N+1)/2); i++){
		printf("%lld\n", dp[N-1][i]);
	}
	return 0;
}

Compilation message (stderr)

candies.cpp: In function 'int main()':
candies.cpp:17:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &N);
  ~~~~~^~~~~~~~~~
candies.cpp:20:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld", &x); v.push_back(x);
   ~~~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...