※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

「aoj2471~2480」の編集履歴(バックアップ)一覧はこちら

aoj2471~2480」の最新版変更点

追加された行はこの色になります。

削除された行はこの色になります。

 *aoj2476 Strange Currency System
 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2476
 与えられた通貨を組み合わせて色々な金額を作るとき、作れない最小金額を答えよ。
 
 解法
-2400番台の問題とは思えないほど簡単な問題です。問題が英文であること2400番台は難しいというイメージがあっておそらく多くの人がこの問題が簡単であると気付いてないのだと思います。
+2400番台の問題とは思えないほど簡単な問題なのに正答者数が少ない問題です。
+問題が英文であること2400番台は難しいというイメージがあっておそらく多くの人がこの問題が簡単であると気付いてないのだと思います。
 通貨を小さい順にソートして小さい方から足し合わせていって作れない数字が判明したらそれが答えです。
 
 
  #include<stdio.h>
  #include<vector>
  #include<algorithm>
  #include<iostream>
  int main(){
  	int n;
  	scanf("%d",&n);
  	std::vector<long long int> vec;
  	long long int a,sum=0;
  	for(int i=0;i<n;i++){
  		std::cin>>a;
  		vec.push_back(a);
  	}
  	std::sort(vec.begin(),vec.end());
  	for(int i=0;i<n;i++){
  		if(sum+1<vec[i]){
  			std::cout<<sum+1<<"\n";
  			return 0;
  		}
  		sum+=vec[i];
  	}
  	std::cout<<sum+1<<"\n";
  }