SRM544 Div2 Easy(250) ElectionFraudDiv2

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";
}};