제출 #935010

#제출 시각아이디문제언어결과실행 시간메모리
935010PagodePaivaHorses (IOI15_horses)C++17
17 / 100
12 ms10576 KiB
#include <bits/stdc++.h>
#include "horses.h"
#define N 20

using namespace std;

int n;
long long v[N][2];
long long dp[N];
const int mod = 1e9+7;

int solve(){
	dp[0] = 0;
	long long res = 0;
	for(int i = 1;i <= n;i++){
		dp[i] = 0;
		int prod = 1;
		for(int j = i;j > 0;j--){
			prod *= v[j][0];
			dp[i] = max(dp[i], dp[j-1] + ((prod-1)*v[i][1]));
			res = max(res, dp[j-1] + prod*v[i][1]);
		}
		// cout << dp[i] << ' ';
	}
	return res % mod;
}

int init(int NN, int X[], int Y[]) {
	n = NN;
	for(int i = 1;i <= n;i++){
		v[i][0] = X[i-1];
		v[i][1] = Y[i-1];
	}
	return solve();
}

int updateX(int pos, int val) {	
	v[pos+1][0] = val;
	return solve();
}

int updateY(int pos, int val) {
	v[pos+1][1] = val;
	return solve();
}

컴파일 시 표준 에러 (stderr) 메시지

horses.cpp: In function 'int solve()':
horses.cpp:19:9: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   19 |    prod *= v[j][0];
      |    ~~~~~^~~~~~~~~~
horses.cpp:25:13: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   25 |  return res % mod;
      |         ~~~~^~~~~
#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...