# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
821244 | 2023-08-11T08:19:20 Z | DobromirAngelov | Marshmallow Molecules (CCO19_day2problem2) | C++17 | 29 ms | 4800 KB |
#include<bits/stdc++.h> #define endl '\n' using namespace std; const int MAXN=1e5+5; int n,m; vector<int> adj[MAXN]; bool used[MAXN]; long long ans=0; bool g[105][105]; void solve(int v) { used[v]=1; priority_queue<int> pq; pq.push(-v); while(!pq.empty()) { v=-pq.top(); pq.pop(); int bef=pq.size(); int br=0; for(int i=0;i<adj[v].size();i++) { if(!used[adj[v][i]]) { used[adj[v][i]]=1; pq.push(-adj[v][i]); br++; } } ans+=br; ans+=(long long) br*bef; ans+=(long long) br*(br-1)/2; } } int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin>>n>>m; for(int i=0;i<m;i++) { int u,v; cin>>u>>v; adj[u].push_back(v); //g[u][v]=1; } /* if(n<=100) { for(int i=1;i<=n;i++) { vector<int> v; for(int j=i+1;j<=n;j++) { if(g[i][j]) v.push_back(j); } for(int j=0;j<v.size();j++) { for(int k=j+1;k<v.size();k++) { g[v[j]][v[k]]=1; } } } for(int i=1;i<=n;i++) { for(int j=i+1;j<=n;j++) if(g[i][j]) ans++; } cout<<ans<<endl; return 0; }*/ for(int i=1;i<=n;i++) { if(!used[i]) { if(adj[i].size()==0) continue; solve(i); } } cout<<ans<<endl; return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 2644 KB | Output is correct |
2 | Incorrect | 2 ms | 2644 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 2644 KB | Output is correct |
2 | Incorrect | 2 ms | 2644 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 26 ms | 4432 KB | Output is correct |
2 | Correct | 29 ms | 4668 KB | Output is correct |
3 | Correct | 28 ms | 4748 KB | Output is correct |
4 | Correct | 26 ms | 4124 KB | Output is correct |
5 | Correct | 28 ms | 4692 KB | Output is correct |
6 | Correct | 27 ms | 4708 KB | Output is correct |
7 | Correct | 26 ms | 4432 KB | Output is correct |
8 | Correct | 28 ms | 4748 KB | Output is correct |
9 | Correct | 28 ms | 4800 KB | Output is correct |
10 | Correct | 27 ms | 4340 KB | Output is correct |
11 | Correct | 28 ms | 4692 KB | Output is correct |
12 | Correct | 29 ms | 4724 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 2644 KB | Output is correct |
2 | Incorrect | 2 ms | 2644 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |