제출 #1198874

#제출 시각아이디문제언어결과실행 시간메모리
1198874arielcruz2Kitchen (BOI19_kitchen)C++20
20 / 100
20 ms1292 KiB
#include <bits/stdc++.h> using namespace std; int main(){ int n,m,k,trabajo=0,horas=0; cin>>n>>m>>k; vector<int> a(n),b(m); for(int i=0;i<n;i++){ cin>>a[i]; trabajo+=a[i]; } for(int i=0;i<m;i++){ cin>>b[i]; horas+=b[i]; } if(horas<trabajo){ cout<<"Impossible"<<"\n"; return 0; } vector<vector<int> > matriz; matriz.assign(2, vector<int> (trabajo+1, 90001)); matriz[0][0]=0; for(int i=m-1;i>-1;i--){ swap(matriz[0], matriz[1]); for(int j=0;j<=trabajo;j++){ matriz[0][j]=matriz[1][j]; if(j-b[i]>-1){ matriz[0][j]=min(matriz[1][j],matriz[1][j-b[i]]); }else{ matriz[0][j]=min(matriz[0][j],b[i]-j); } } } if(matriz[0][trabajo]==90001){ cout<<"Impossible"<<"\n"; }else{ cout<<matriz[0][trabajo]<<"\n"; } 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...