Submission #430790

#TimeUsernameProblemLanguageResultExecution timeMemory
4307902qbingxuanMaking Friends on Joitter is Fun (JOI20_joitter2)C++17
0 / 100
2 ms2636 KiB
#pragma GCC optimize("Ofast") #include <bits/stdc++.h> #ifdef local #define safe cerr<<__PRETTY_FUNCTION__<<" line "<<__LINE__<<" safe\n" #define pary(a...) danb(#a, a) #define debug(a...) qqbx(#a, a) template <typename ...T> void qqbx(const char *s, T ...a) { int cnt = sizeof...(T); ((std::cerr << "\033[1;32m(" << s << ") = (") , ... , (std::cerr << a << (--cnt ? ", " : ")\033[0m\n"))); } template <typename T> void danb(const char *s, T L, T R) { std::cerr << "\033[1;32m[ " << s << " ] = [ "; for (int f = 0; L != R; ++L) std::cerr << (f++ ? ", " : "") << *L; std::cerr << " ]\033[0m\n"; } #else #define debug(...) ((void)0) #define safe ((void)0) #define pary(...) ((void)0) #endif // local #define all(v) begin(v),end(v) #define pb emplace_back using namespace std; using ll = long long; using ld = long double; template <typename T> using min_heap = priority_queue<T, vector<T>, greater<T>>; const int mod = 1000000007; const int inf = 1e9; const ll INF = 1e18; const int maxn = 100025; bool qlig[maxn]; vector<int> g[maxn]; signed main() { ios_base::sync_with_stdio(0), cin.tie(0); int n, q; cin >> n >> q; set<pair<int,int>> st; ll qcnt = 0; while (q--) { int a, b; cin >> a >> b; --a, --b; if (st.count({ b, a })) { if (!qlig[b]) qcnt += 1; if (!qlig[a]) qcnt += 1; qlig[b] = qlig[a] = true; } st.insert({ a, b }); g[a].pb(b); int nqcnt = 0; for (int i = 0; i < n; i++) if (!qlig[i]) { bool nq = false; for (int j: g[i]) if (qlig[j]) nq = true; if (nq) nqcnt += 1; } ll ans = qcnt * (qcnt - 1) + nqcnt * qcnt; for (auto [s, t]: st) { if (!qlig[t]) { ++ans; } } cout << ans << '\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...