# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
1004407 |
2024-06-21T08:40:28 Z |
vjudge1 |
Horses (IOI15_horses) |
C++17 |
|
0 ms |
0 KB |
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define f first
#define s second
#define pb push_back
#define pf push_front
#define pi pair<int,int>
#define vi vector<int>
int n ;
vi x, y;
int init(int N, int X[], int Y[]){
n = N;
x.resize(N);
y.resize(N);
for(int i =0; i < n; i++){
x[i] =X[i];
y[i] = Y[i];
}
ll final = 0;
ll dp[n+10][10002];
for(int i = 0; i <= n; i++){
for(int j= 0; j < 10001;j++){
dp[i][j]=-LLONG_MAX;
}
}
dp[0][1]=0;
for(int i = 1; i <= n; i++){
//dp[0][i] =dp[0][i-1];
for(int j = 0; j < 1000; j++){
for(int k = 0; k <= (j+(j*x[i-1])); k++){
ll have = j*x[i-1];
if(have>10000)break;
// cout << i << " "<<j << " " << dp[i-1][j]<<endl;
if(dp[i-1][j] >=0) dp[i][have-k] = max(dp[i][have-k] ,dp[i-1][j] + (y[i-1] * k));
}
}
}
ll ans = 0;
// cout << dp[n][0]<<endl;
for(int i = 0; i <n; i++){
ans = max(ans,dp[i][0]);
}
for(int i = 0; i < 10001; i++){
// cout <<i<<" "<< dp[n][i]<<endl;
ans= max(ans,dp[n][i]);
}
return ans;
}
void updateX(int pos, int val){
x[pos]=val;
}
void updateY(int pos, int val){
y[pos]=val;
}
int main(){
int n;
cin >> n;
int a[n], b[n];
for(int& i : a){
cin >> i;
}
for(int &i : b){
cin >> i;
}
cout << init(n,a,b)<<endl;
}
Compilation message
horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:53:12: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
53 | return ans;
| ^~~
horses.cpp:24:8: warning: unused variable 'final' [-Wunused-variable]
24 | ll final = 0;
| ^~~~~
horses.cpp: In function 'int main()':
horses.cpp:68:9: warning: declaration of 'n' shadows a global declaration [-Wshadow]
68 | int n;
| ^
horses.cpp:11:5: note: shadowed declaration is here
11 | int n ;
| ^
/usr/bin/ld: /tmp/ccZpNm3J.o: in function `main':
grader.c:(.text.startup+0x0): multiple definition of `main'; /tmp/ccJK4m8H.o:horses.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status