| 15873 | 2025-03-07 11:14:27 | UVince | Glassworks | cpp17 | Runtime error 40/100 | 257ms | 262144 KiB |
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
vector<vector<int>> g;
vector<int> c;
vector<vector<int>> d;
void bfs(int v) {
queue<int> q;
q.push(v);
d[v][v]=0;
while (!q.empty()){
int cur = q.front();
q.pop();
for (int to : g[cur]){
if (d[v][to]==-1) {
d[v][to]=d[v][cur]+1;
q.push(to);
}
}
}
}
int main(){
int n,m;
cin>>n>>m;
g.resize(n+1);
c.resize(n+1);
d.resize(n+1, vector<int> (n+1, -1));
for (int i=0;i<n;i++){
cin>>c[i];
}
for (int i=0;i<m;i++){
int a,b;
cin>>a>>b;
g[a].push_back(b);
g[b].push_back(a);
}
for (int i=0;i<n;i++) bfs(i);
int ans=INT_MAX;
for (int i=0;i<n;i++){
int mn=-1;
for (int j=0;j<n;j++){
if (c[j]==c[i]) continue;
if (d[i][j]==-1) continue;
if (mn==-1 || d[i][j]<d[i][mn]) mn=j;
}
if (mn==-1) continue;
int mn2=-1;
for (int j=0;j<n;j++){
if (c[j]==c[i] || c[j]==c[mn]) continue;
if (d[i][j]==-1) continue;
if (mn2==-1 || d[i][j]<d[i][mn2]) mn2=j;
}
if (mn2==-1) continue;
ans=min(ans, d[i][mn]+d[i][mn2]);
}
if (ans==INT_MAX){
cout<<-1;
return 0;
}
cout<<ans;
}
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 316 KiB | ||||
| 2 | Accepted | 1ms | 316 KiB | ||||
| subtask2 | 20/20 | ||||||
| 3 | Accepted | 6ms | 1332 KiB | ||||
| 4 | Accepted | 4ms | 1332 KiB | ||||
| 5 | Accepted | 4ms | 1436 KiB | ||||
| 6 | Accepted | 6ms | 1332 KiB | ||||
| 7 | Accepted | 6ms | 1332 KiB | ||||
| 8 | Accepted | 6ms | 1336 KiB | ||||
| 9 | Accepted | 3ms | 824 KiB | ||||
| 10 | Accepted | 4ms | 896 KiB | ||||
| 11 | Accepted | 4ms | 820 KiB | ||||
| subtask3 | 20/20 | ||||||
| 12 | Accepted | 18ms | 4232 KiB | ||||
| 13 | Accepted | 18ms | 4400 KiB | ||||
| 14 | Accepted | 19ms | 4408 KiB | ||||
| 15 | Accepted | 27ms | 4404 KiB | ||||
| 16 | Accepted | 27ms | 4596 KiB | ||||
| 17 | Accepted | 26ms | 4408 KiB | ||||
| 18 | Accepted | 27ms | 4404 KiB | ||||
| 19 | Accepted | 23ms | 4404 KiB | ||||
| 20 | Accepted | 17ms | 4404 KiB | ||||
| subtask4 | 0/20 | ||||||
| 21 | Runtime error | 211ms | 262144 KiB | ||||
| 22 | Runtime error | 209ms | 262144 KiB | ||||
| 23 | Runtime error | 252ms | 262144 KiB | ||||
| 24 | Runtime error | 252ms | 262144 KiB | ||||
| 25 | Runtime error | 257ms | 262144 KiB | ||||
| 26 | Runtime error | 207ms | 262144 KiB | ||||
| 27 | Runtime error | 208ms | 262144 KiB | ||||
| 28 | Runtime error | 254ms | 262144 KiB | ||||
| 29 | Runtime error | 211ms | 262144 KiB | ||||
| 30 | Runtime error | 203ms | 262144 KiB | ||||
| subtask5 | 0/40 | ||||||
| 31 | Runtime error | 207ms | 262144 KiB | ||||
| 32 | Runtime error | 203ms | 262144 KiB | ||||
| 33 | Runtime error | 250ms | 262144 KiB | ||||
| 34 | Runtime error | 248ms | 262144 KiB | ||||
| 35 | Runtime error | 202ms | 262144 KiB | ||||
| 36 | Runtime error | 203ms | 262144 KiB | ||||
| 37 | Runtime error | 246ms | 262144 KiB | ||||
| 38 | Runtime error | 245ms | 262144 KiB | ||||
| 39 | Runtime error | 210ms | 262144 KiB | ||||
| 40 | Runtime error | 204ms | 262144 KiB | ||||
| 41 | Runtime error | 231ms | 262144 KiB | ||||
| 42 | Runtime error | 246ms | 262144 KiB | ||||
| 43 | Runtime error | 206ms | 262144 KiB | ||||
| 44 | Runtime error | 209ms | 262144 KiB | ||||
| 45 | Runtime error | 200ms | 262144 KiB | ||||
| 46 | Runtime error | 247ms | 262144 KiB | ||||
| 47 | Runtime error | 248ms | 262144 KiB | ||||