Official
D - Webサービス/Web Service Editorial
by
D - Webサービス/Web Service Editorial
by
m_99
無料会員・一般会員・プレミアム会員になった場合に支払う合計金額をそれぞれ求め、その中で一番小さい金額を出力すればよいです。
月ごとに支払う金額調べるのにはfor文を用いるのが便利です。
解答例(C++)
#include <bits/stdc++.h>
using namespace std;
int main() {
int A,B,C;
cin>>A>>B>>C;
vector<int> x(12);
for(int i=0;i<12;i++)cin>>x[i];
//プレミアム会員になった場合の合計金額
int ans = C;
//無料会員になった場合の合計金額
{
int sum = 0;
for(int i=0;i<12;i++){
sum += max(0,x[i]-3)*A;
}
ans = min(ans,sum);
}
//一般会員になった場合の合計金額
{
int sum = B;
for(int i=0;i<12;i++){
sum += max(0,x[i]-50)*A;
}
ans = min(ans,sum);
}
cout<<ans<<endl;
return 0;
}
posted:
last update:
