「新人女子プログラマの書いたコードを直すだけの簡単なお仕事です」をお試しの気分で解いているんですが…
C++で下のコードで提出前動作確認してみると、「正解」と出ました。
で、ニックネームとメアドを入れて採点すると…
Test case 1 失敗 (出力結果が間違っています) 実行時間:0.08 秒
Test case 2 失敗 (スキップされました)
Test case 3 失敗 (スキップされました)
となりました。そして点数は0点
なぜこうなるのでしょうか?
#include<iostream>
void check(int campaign_price,int goods1_price,int goods2_price,int &max_price){
int price=goods1_price+goods2_price;
if(price <= campaign_price){
if(price > max_price){
max_price=price;
}
}
}
int main(){
int goods_num;
int days_num;
const int max_goods_num=500000,max_days_num=300;
static int goods_price[max_goods_num];
static int campaign_price[max_days_num];
int max_price;
std::cin >> goods_num >> days_num;
for(int i=0;i<goods_num;++i){
std::cin >> goods_price[i];
}
for(int i=0;i<days_num;++i){
std::cin >> campaign_price[i];
}
std::cout << std::endl;
for(int i=0;i<days_num;i++){
max_price=0;
for(int j=0;j<goods_num;j++){
for(int k=0;k<goods_num;k++){
check(campaign_price[i],goods_price[j],goods_price[k],max_price);
}
}
std::cout << max_price << std::endl;
}
return 0;
}