# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
909284 | 2024-01-17T06:50:50 Z | lighton | Dynamic Diameter (CEOI19_diameter) | C++17 | 5000 ms | 15592 KB |
#include<bits/stdc++.h> #define forf(i,a,b) for(int i = a; i<=b; i++) #define all(v) v.begin(),v.end() using namespace std; typedef long long ll; int N,M; pair<int,int> edge[100001]; ll mod1 = 1000000000000007; ll mod = 998244353; vector<int> perm; unordered_set<ll> s1[100001]; int main(){ scanf("%d %d" , &N , &M); forf(i,1,M){ scanf("%d %d" , &edge[i].first,&edge[i].second); } forf(i,1,N) perm.push_back(i); ll ans = 0; do{ ll hash1 = 0; ll hash2 = 0; ll cnt = 0; forf(i,1,M){ hash1 *= 2; if(perm[edge[i].first-1] > perm[edge[i].second-1]){ hash1++; hash2++; cnt++; } hash1 %= mod1; } if(s1[cnt].find(hash1) == s1[cnt].end()){ s1[cnt].insert(hash1); ans += cnt; ans %= mod; } } while((next_permutation(all(perm)))); printf("%d" , ans); }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1599 ms | 5972 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1599 ms | 5972 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 5003 ms | 5724 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 5043 ms | 5724 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 30 ms | 15592 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1599 ms | 5972 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |