codeforces 381A. Alyona and copybooks=

来源:互联网 发布:南京网博java培训费用 编辑:程序博客网 时间:2024/05/18 02:02

在这个题中,不能光考虑k = 0,1, 2,3. 因为条件是花钱最少,不是k越小,花钱越少。要考虑每一种k情况下的最小花钱数。例如:n % 4 == 1 的情下,k可以是3  {(1+1+1+1)%4==0(1+3)% 4 == 0   (1+1+2)%4==0    },当n % 4 == 3的情下,k可以是1  {(3+1)%4==0}  ,k可以是5 {(3+2+3)% 4 == 0   },k可以是9{(3+3*3)%4 == 0}

#include<iostream>

#include<algorithm>
#include
using namespace std;
using namespace std;int main(){long long n, a, b, c;while (cin >> n >> a >> b >> c){long long result;if (n % 4 == 0){result = 0;}else if (n % 4 == 1){result = min(3 * a, min(a + b, c));}else if (n % 4 == 2){result = min(2 * a, min(b, 2 * c));}else{result = min(a, min(b + c, 3 * c));}cout << result << endl;}return 0;}

int main(){


long long n, a, b, c;
while (cin >> n >> a >> b >> c){


long long result;
if (n % 4 == 0){
result = 0;
}
else if (n % 4 == 1){
result = min(3 * a, min(a + b, c));
}
else if (n % 4 == 2){
result = min(2 * a, min(b, 2 * c));
}
else{
result = min(a, min(b + c, 3 * c));
}
cout << result << endl;


}


return 0;
}
0 0
原创粉丝点击