제출 #135823

#제출 시각아이디문제언어결과실행 시간메모리
135823amiratouHorses (IOI15_horses)C++14
0 / 100
1551 ms36952 KiB
#pragma GCC optimize("O3") #include "horses.h" #include <bits/stdc++.h> #define ll long long using namespace std; const int MOD = (int)(1e9)+7; int x[500005],y[500005],dp[15][1005],n; ll solve(ll idx,ll nb_horses){ if(idx==n)return 0; ll nb=(nb_horses*x[idx])%MOD; ll ans=(nb*y[idx])%MOD; for (ll i = nb-1LL; i >=0LL ; i--) ans=max(ans,((solve(idx+1,nb-i)%MOD)+((i*(y[idx]%MOD))%MOD))%MOD); return (ans%MOD); } int init(int N, int X[], int Y[]) { n=N; for (int i = 0; i < N; ++i) x[i]=X[i],y[i]=Y[i]; memset(dp,-1,sizeof dp); return (int)solve(0,1); } int updateX(int pos, int val) { memset(dp,-1,sizeof dp); x[pos]=val; return (int)solve(0,1); } int updateY(int pos, int val) { memset(dp,-1,sizeof dp); y[pos]=val; return (int)solve(0,1); }
#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...