SRM505 Div2 Medium(500) PerfectSequences
各要素を書き換えてperfect sequenceにできるかどうか調べる。
#include <vector> #include <string> using namespace std; class PerfectSequences{public: string fixIt( vector <int> seq ) { int n = (int)seq.size(); if ( n == 1 ) return "Yes"; for ( int i=0; i<n; i++ ) { long long sum = 0; long long pro = 1; for ( int j=0; j<n; j++ ) if ( j != i ) sum += seq[j], pro *= seq[j]; if ( pro-1 != 0 ) { if ( sum%(pro-1) == 0 && sum/(pro-1) >= 0 && sum/(pro-1) != seq[i] ) return "Yes"; } else { if ( sum == 0 ) return "Yes"; } } return "No"; }};