# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
888336 | 2023-12-17T01:50:05 Z | 1075508020060209tc | Paths (BOI18_paths) | C++14 | 364 ms | 64184 KB |
#pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #define int long long //const int mod=998244353; int n;int m;int K; int cr[500005]; int ar[500005]; int br[500005]; vector<int>e[500005]; int ans; void solve2(){ for(int i=1;i<=m;i++){ if(cr[ar[i]]!=cr[br[i]]){ans+=2;} } } void solve3(){ int ret=0; for(int nw=1;nw<=n;nw++){ vector<int>tbl(10,0); for(int i=0;i<e[nw].size();i++){ int v=e[nw][i]; for(int j=1;j<=5;j++){ if(j==cr[v]){continue;} if(j==cr[nw]){continue;} if(cr[v]==cr[nw]){continue;} ret+=tbl[j]; } tbl[cr[v]]++; } } ret*=2; ans+=ret; } void solve4(){ vector<vector<int>>tbl(n+10,vector<int>(6,0)); for(int nw=1;nw<=n;nw++){ for(int i=0;i<e[nw].size();i++){ int v=e[nw][i]; if(cr[v]!=cr[nw]){ tbl[nw][cr[v]]++; } } } for(int i=1;i<=m;i++){ int a=ar[i];int b=br[i]; for(int x=1;x<=5;x++){ for(int y=1;y<=5;y++){ if(x==cr[a]||y==cr[a]||x==cr[b]||y==cr[b]||x==y||cr[a]==cr[b]){continue;} ans+=tbl[a][x]*tbl[b][y]*2; } } } } signed main(){ cin>>n>>m>>K; for(int i=1;i<=n;i++){ cin>>cr[i]; } for(int i=1;i<=m;i++){ cin>>ar[i]>>br[i]; e[ar[i]].push_back(br[i]); e[br[i]].push_back(ar[i]); } ans=0; solve2(); solve3(); //cout<<ans<<" "; if(K>=4){solve4();} cout<<ans<<"\n"; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 16988 KB | Output is correct |
2 | Correct | 4 ms | 16984 KB | Output is correct |
3 | Correct | 4 ms | 16988 KB | Output is correct |
4 | Correct | 4 ms | 16988 KB | Output is correct |
5 | Correct | 4 ms | 16984 KB | Output is correct |
6 | Correct | 4 ms | 16988 KB | Output is correct |
7 | Correct | 4 ms | 16988 KB | Output is correct |
8 | Correct | 5 ms | 16988 KB | Output is correct |
9 | Correct | 4 ms | 17012 KB | Output is correct |
10 | Correct | 4 ms | 16988 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 122 ms | 28244 KB | Output is correct |
2 | Correct | 111 ms | 28304 KB | Output is correct |
3 | Correct | 265 ms | 33616 KB | Output is correct |
4 | Correct | 153 ms | 29268 KB | Output is correct |
5 | Correct | 150 ms | 29236 KB | Output is correct |
6 | Correct | 234 ms | 31936 KB | Output is correct |
7 | Correct | 259 ms | 33696 KB | Output is correct |
8 | Correct | 267 ms | 34428 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 16988 KB | Output is correct |
2 | Correct | 4 ms | 16984 KB | Output is correct |
3 | Correct | 4 ms | 16988 KB | Output is correct |
4 | Correct | 4 ms | 16988 KB | Output is correct |
5 | Correct | 4 ms | 16984 KB | Output is correct |
6 | Correct | 4 ms | 16988 KB | Output is correct |
7 | Correct | 4 ms | 16988 KB | Output is correct |
8 | Correct | 5 ms | 16988 KB | Output is correct |
9 | Correct | 4 ms | 17012 KB | Output is correct |
10 | Correct | 4 ms | 16988 KB | Output is correct |
11 | Correct | 122 ms | 28244 KB | Output is correct |
12 | Correct | 111 ms | 28304 KB | Output is correct |
13 | Correct | 265 ms | 33616 KB | Output is correct |
14 | Correct | 153 ms | 29268 KB | Output is correct |
15 | Correct | 150 ms | 29236 KB | Output is correct |
16 | Correct | 234 ms | 31936 KB | Output is correct |
17 | Correct | 259 ms | 33696 KB | Output is correct |
18 | Correct | 267 ms | 34428 KB | Output is correct |
19 | Correct | 147 ms | 31136 KB | Output is correct |
20 | Correct | 108 ms | 30332 KB | Output is correct |
21 | Correct | 267 ms | 38212 KB | Output is correct |
22 | Correct | 159 ms | 32524 KB | Output is correct |
23 | Correct | 143 ms | 32532 KB | Output is correct |
24 | Correct | 208 ms | 36052 KB | Output is correct |
25 | Correct | 261 ms | 37968 KB | Output is correct |
26 | Correct | 258 ms | 38656 KB | Output is correct |
27 | Correct | 128 ms | 30288 KB | Output is correct |
28 | Correct | 148 ms | 32596 KB | Output is correct |
29 | Correct | 356 ms | 63924 KB | Output is correct |
30 | Correct | 299 ms | 48800 KB | Output is correct |
31 | Correct | 243 ms | 48804 KB | Output is correct |
32 | Correct | 364 ms | 64184 KB | Output is correct |
33 | Correct | 4 ms | 16988 KB | Output is correct |
34 | Correct | 4 ms | 16984 KB | Output is correct |
35 | Correct | 4 ms | 16988 KB | Output is correct |
36 | Correct | 4 ms | 17048 KB | Output is correct |
37 | Correct | 4 ms | 16984 KB | Output is correct |
38 | Correct | 4 ms | 16988 KB | Output is correct |
39 | Correct | 4 ms | 17028 KB | Output is correct |
40 | Correct | 4 ms | 16988 KB | Output is correct |
41 | Correct | 5 ms | 16988 KB | Output is correct |
42 | Correct | 4 ms | 16984 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 16988 KB | Output is correct |
2 | Incorrect | 45 ms | 21200 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |