Submission #1104045

#TimeUsernameProblemLanguageResultExecution timeMemory
1104045Mauricio_CruzKnapsack (NOI18_knapsack)C++14
73 / 100
1068 ms1376 KiB
#include <iostream> #include <math.h> #include <string> #include <sstream> #include <algorithm> #include <vector> #include <utility> #include <stdio.h> #include <unordered_map> #include <cstring> //#define Kaspárov main using namespace std; //#pragma GCC optimize("Ofast,unroll-loops") //\\ PRINCIPAL \\// #define ull unsigned long long #define ios ios_base::sync_with_stdio(0); cin.tie(nullptr); cout.tie(nullptr); cout.setf(ios::fixed); cout.precision(0); //srand(time(NULL)); //\\ VECTOR \\// #define pb push_back #define ff first #define ss second #define pb push_back #define all(x) (x).begin(), (x).end() #define lb lower_bound #define ordenar(x) sort( x.begin(), x.end() ) #define ordenarA(x,n) sort( x, x + n ) //\\ OPERACIONES RAPIDAS \\// #define sf(n) scanf("%d", &n) #define sff(n,m) scanf("%d%d",&n,&m) #define sfl(n) scanf("%lld", &n) #define sffl(n,m) scanf("%lld%lld",&n,&m) #define pf(n) printf("%d\n",n) #define pfl(n) printf("%lld ",n) #define pfs(s) printf("%s\n",s) const int MAXN = 1e6+5, mod = 1e9+7; void solve(); #define int long long int32_t main(){ ios; int t = 1; while(t--){ solve(); } fflush(stdin); fflush(stdout); } void solve(){ int s, n; cin>>s>>n; int dp[s+1]; memset(dp,0, sizeof(dp)); for(int i = 0; i<n; ++i){ int a, b, c; cin>>a>>b>>c; int pm[s+1]; for(int j = 0; j<=s; ++j) pm[j] = dp[j]; for(int j = 0; j<=s; ++j){ int lugar = j; int suma = 0; int klk = c; while(klk--){ lugar += b; suma += a; if(lugar>s) break; pm[lugar] = max(dp[j] + suma, pm[lugar]); } } for(int j = 0; j<=s; ++j) dp[j] = pm[j]; } int maxn = -1; for(int x: dp) maxn = max(maxn, x); cout<<maxn; }
#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...