SRM544 Div2 Easy(250) ElectionFraudDiv2
Div2 Easyがどんどん難しくなっている……。i番目の有権者の票数をxiとすると、
max(p-0.5,0)≦100xi/10000<p+0.5 が成り立つ。
最小値と最大値を足し合わせて、10000がその中に入っていればNO。
#include <vector> #include <numeric> using namespace std; class ElectionFraudDiv2{public: string IsFraudulent( vector <int> percentages ) { int mn = 0; int mx = 0; for ( int i=0; i<(int)percentages.size(); i++ ) { mn += max(0,100*percentages[i]-50); mx += 100*percentages[i]+49; } return mn<=10000 && 10000<mx ? "NO" : "YES"; }};