Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdio>
- #include <algorithm>
- #include <climits>
- using namespace std;
- #define l 12
- int main() {
- long long int n,mat[4][l],k=0,v[4];
- cin>>n>>v[1]>>v[2]>>v[3];
- while((n%4)!=0){
- k++;n++;}
- if (k==0){
- cout<<0<<endl;
- return 0;
- }
- for (int i=0;i<4;i++){
- mat[i][0]=0;
- for (int j=1;j<=(k+8);j++)
- mat[i][j]=LONG_MAX;
- }
- for (int i=1;i<4;i++)
- for (int j=1;j<=(k+8);j++)
- if (i<=j)
- mat[i][j]=min(mat[i-1][j],v[i]+mat[i][j-i]);
- else
- mat[i][j]=mat[i-1][j];
- printf("%lld\n", min(mat[3][k],min(mat[3][k+4],mat[3][k+8])));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment