codeforces #406 B. Not Afraid
方針
各グループについて、絶対値が等しい正負の値のペアが存在するか探索。 ペアが存在するグループは少なくとも全員がtraitorというわけではない。 ペアが存在しない場合は、グループ全員がtraitorの可能性がある。 一つのグループでも、グループ全員がtraitorの可能性がアレば"YES",そうでなければ"NO"と出力する。
#include <iostream> #include <vector> #include <algorithm> #include <set> using namespace std; typedef long long ll; int main() { int n, m; cin >> n >> m; string ans = "NO"; for(int i=0;i<m;i++) { int k; cin >> k; set<int> st; for(int j=0;j<k;j++) { int vi; cin >> vi; st.insert(vi); } bool traitor = true; for(auto itr=st.begin();itr!=st.end();itr++) { if(st.count(-*itr)) { traitor = false; break; } } if(traitor) { ans = "YES"; } } cout << ans << endl; }