제출 #1302234

#제출 시각아이디문제언어결과실행 시간메모리
1302234nicolo_010Horses (IOI15_horses)C++20
17 / 100
260 ms589824 KiB
#include <bits/stdc++.h> #include "horses.h" using namespace std; using ll = long long; using pii = pair<int, int>; const int MOD = 1e9+7; const ll INF = 1e18; int init(int n, int* x, int* y) { vector<vector<ll>> dp(n, vector<ll>(1001, -INF)); dp[0][x[0]] = 0; for (int i=1; i<=x[0]; i++) { dp[0][x[0]-i] = y[0]*i; dp[0][x[0]-i] %= MOD; } for (int i=1; i<n; i++) { for (int j=0; j*x[i]<=1000; j++) { if (dp[i-1][j] < 0) continue; dp[i][j*x[i]] = dp[i-1][j]; } for (int j=1000; j >= 0; j--) { for (int k=1; k+j <=1000; k++) { if (dp[i][j+k] <0) continue; dp[i][j] = max(dp[i][j], dp[i][j+k]+y[i]*k); dp[i][j] %= MOD; } } } ll mx=0; for (int i=0; i<=1000; i++) { mx = max(mx, dp[n-1][i]); } return mx; } int updateX(int pos, int val) { return 0; } int updateY(int pos, int val) { return 0; }
#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...