Submission #935010

#TimeUsernameProblemLanguageResultExecution timeMemory
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(); }

Compilation message (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...