Advertisement
Patrickmeme

E - Crested Ibis vs Monster

May 21st, 2023
1,144
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.80 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. unsigned long long INF=999999999999999999;
  5.  
  6. unsigned long long v[20001];
  7. unsigned long long a[1001],b[1001];
  8.  
  9. int main()
  10. {
  11.     unsigned long long h,n,i,j,cnt,min1;
  12.     cin>>h>>n;
  13.     for(i=1;i<=n;i++){
  14.         cin>>a[i]>>b[i];
  15.     }
  16.     for(j=0;j<=2*h;j++){
  17.         v[j]=INF;
  18.     }
  19.     v[0]=0;
  20.     for(i=1;i<=n;i++){
  21.         for(j=0;j<=h;j++){
  22.             cnt=0;
  23.             if(v[j]!=INF){
  24.                 while(j+cnt*a[i]<h){
  25.                     v[j+cnt*a[i]]=min(v[j+cnt*a[i]],v[j]+cnt*b[i]);
  26.                     cnt++;
  27.                 }
  28.                 v[j+cnt*a[i]]=min(v[j+cnt*a[i]],v[j]+cnt*b[i]);
  29.             }
  30.  
  31.         }
  32.     }
  33.     min1=INF;
  34.     for(i=h;i<=2*h;i++){
  35.         min1=min(min1,v[i]);
  36.     }
  37.     cout<<min1;
  38.     return 0;
  39. }
Advertisement
Comments
Add Comment
Please, Sign In to add comment
Advertisement