提出 #577950
ソースコード 拡げる
#include<bits/stdc++.h>
using namespace std;
#define reps(i,f,n) for(int i = f; i <= (n); ++i)
#define rep(i,n) reps(i,0,n-1)
#define rrep(i,n) for(int i=(n)-1; i>=0 ; --i)
#define all(X) (X).begin(),(X).end()
#define X first
#define Y second
#define eb emplace_back
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef pair<pii,int> piii;
typedef vector<vector<int>> Graph;
const int INF=3e6;
void dij(Graph &g,int s,vector<pii> &d,vector<int> &val){
priority_queue<piii,vector<piii>,greater<piii>> que;
int V=g.size();
d.resize(V);
d.resize(V);
fill(all(d),pii(INF,-1));
d[s]=pii(0,val[s]);
que.emplace(d[s],s);
while(!que.empty()){
piii p=que.top(); que.pop();
int v=p.Y;
if(d[v]<p.X) continue;
rep(i,g[v].size()){
if(d[g[v][i]]>pii(d[v].X+1,min(d[v].Y, val[g[v][i]] ))){
d[g[v][i]]=pii(d[v].X+1,min(d[v].Y, val[g[v][i]] ));
que.push(piii(d[g[v][i]],g[v][i]));
}
}
}
}
int main(void){
ios_base::sync_with_stdio(0);
int n,m,cnt[3];
cin>>n;
vector<int> type(n+3),val(n+3,INF);
iota(all(type),0);
rep(i,3) cin>>cnt[i];
int x,y;
rep(i,3)rep(j,cnt[i]){
cin>>x; --x;
type[x]=n+i;
}
rep(i,n+3)
val[type[i]]=min(val[type[i]],i);
const int N=n+3;
Graph g(N);
cin>>m;
rep(i,m){
cin>>x>>y;
--x; --y;
g[type[x]].eb(type[y]);
g[type[y]].eb(type[x]);
}
vector<pii> d[3];
rep(i,3)
dij(g,n+i,d[i],val);
//rep(i,3){rep(j,N)cout<<"("<<d[i][j].X<<","<<d[i][j].Y<<")";cout<<endl;}
pii re=pii(INF,-1);
rep(i,N){
pii tmp=pii(0,INF);
rep(j,3){
tmp.X+=d[j][i].X;
tmp.Y=min(tmp.Y,d[j][i].Y);
}
re=min(re,tmp);
}
cout<<re.X<<" "<<re.Y+1<<endl;
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - Modern Announce Network |
| ユーザ | debug |
| 言語 | C++11 (GCC 4.8.1) |
| 得点 | 100 |
| コード長 | 1824 Byte |
| 結果 | AC |
| 実行時間 | 235 ms |
| メモリ | 7348 KiB |
ジャッジ結果
| セット名 | All | ||
|---|---|---|---|
| 得点 / 配点 | 100 / 100 | ||
| 結果 |
|
| セット名 | テストケース |
|---|---|
| All | 00_sample_00, 00_sample_01, 00_sample_02, 00_sample_03, 00_sample_04, 10_rand_00, 10_rand_01, 10_rand_02, 10_rand_03, 10_rand_04, 10_rand_05, 10_rand_06, 10_rand_07, 11_max_rand_00, 11_max_rand_01, 11_max_rand_02, 11_max_rand_03, 11_max_rand_04, 11_max_rand_05, 11_max_rand_06, 11_max_rand_07, 21_max_path_00, 21_max_path_01, 21_max_path_02, 21_max_path_03, 21_max_path_04, 21_max_path_05, 21_max_path_06, 21_max_path_07, 30_star_00, 30_star_01, 30_star_02, 30_star_03, 30_star_04, 30_star_05, 30_star_06, 30_star_07, 40_clique_00, 40_clique_01, 40_clique_02, 40_clique_03, 40_clique_04, 40_clique_05, 40_clique_06, 40_clique_07, 41_max_clique_00, 41_max_clique_01, 41_max_clique_02, 41_max_clique_03, 41_max_clique_04, 41_max_clique_05, 41_max_clique_06, 41_max_clique_07, 51_max_tree_00, 51_max_tree_01, 51_max_tree_02, 51_max_tree_03, 51_max_tree_04, 51_max_tree_05, 51_max_tree_06, 51_max_tree_07, 90_special_00, 90_special_01, 90_special_02, 90_special_03 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00 | AC | 212 ms | 1096 KiB |
| 00_sample_01 | AC | 29 ms | 1144 KiB |
| 00_sample_02 | AC | 31 ms | 1144 KiB |
| 00_sample_03 | AC | 30 ms | 1072 KiB |
| 00_sample_04 | AC | 31 ms | 1144 KiB |
| 10_rand_00 | AC | 102 ms | 3316 KiB |
| 10_rand_01 | AC | 37 ms | 1352 KiB |
| 10_rand_02 | AC | 168 ms | 4708 KiB |
| 10_rand_03 | AC | 87 ms | 2848 KiB |
| 10_rand_04 | AC | 179 ms | 6588 KiB |
| 10_rand_05 | AC | 144 ms | 5508 KiB |
| 10_rand_06 | AC | 171 ms | 5996 KiB |
| 10_rand_07 | AC | 172 ms | 5536 KiB |
| 11_max_rand_00 | AC | 166 ms | 4904 KiB |
| 11_max_rand_01 | AC | 175 ms | 5552 KiB |
| 11_max_rand_02 | AC | 55 ms | 2108 KiB |
| 11_max_rand_03 | AC | 161 ms | 4528 KiB |
| 11_max_rand_04 | AC | 189 ms | 7348 KiB |
| 11_max_rand_05 | AC | 64 ms | 2552 KiB |
| 11_max_rand_06 | AC | 235 ms | 6656 KiB |
| 11_max_rand_07 | AC | 149 ms | 4708 KiB |
| 21_max_path_00 | AC | 39 ms | 1872 KiB |
| 21_max_path_01 | AC | 40 ms | 1972 KiB |
| 21_max_path_02 | AC | 150 ms | 1732 KiB |
| 21_max_path_03 | AC | 37 ms | 1724 KiB |
| 21_max_path_04 | AC | 38 ms | 1728 KiB |
| 21_max_path_05 | AC | 38 ms | 1748 KiB |
| 21_max_path_06 | AC | 39 ms | 1856 KiB |
| 21_max_path_07 | AC | 50 ms | 1988 KiB |
| 30_star_00 | AC | 39 ms | 1748 KiB |
| 30_star_01 | AC | 34 ms | 1208 KiB |
| 30_star_02 | AC | 38 ms | 1716 KiB |
| 30_star_03 | AC | 37 ms | 1592 KiB |
| 30_star_04 | AC | 32 ms | 1080 KiB |
| 30_star_05 | AC | 33 ms | 1212 KiB |
| 30_star_06 | AC | 34 ms | 1292 KiB |
| 30_star_07 | AC | 35 ms | 1464 KiB |
| 40_clique_00 | AC | 35 ms | 1208 KiB |
| 40_clique_01 | AC | 123 ms | 4236 KiB |
| 40_clique_02 | AC | 36 ms | 1308 KiB |
| 40_clique_03 | AC | 65 ms | 2236 KiB |
| 40_clique_04 | AC | 85 ms | 3244 KiB |
| 40_clique_05 | AC | 97 ms | 3388 KiB |
| 40_clique_06 | AC | 170 ms | 4856 KiB |
| 40_clique_07 | AC | 48 ms | 1792 KiB |
| 41_max_clique_00 | AC | 191 ms | 5376 KiB |
| 41_max_clique_01 | AC | 192 ms | 5188 KiB |
| 41_max_clique_02 | AC | 194 ms | 7220 KiB |
| 41_max_clique_03 | AC | 197 ms | 5376 KiB |
| 41_max_clique_04 | AC | 197 ms | 5552 KiB |
| 41_max_clique_05 | AC | 205 ms | 6964 KiB |
| 41_max_clique_06 | AC | 191 ms | 5168 KiB |
| 41_max_clique_07 | AC | 198 ms | 5548 KiB |
| 51_max_tree_00 | AC | 46 ms | 1976 KiB |
| 51_max_tree_01 | AC | 45 ms | 1976 KiB |
| 51_max_tree_02 | AC | 38 ms | 1724 KiB |
| 51_max_tree_03 | AC | 40 ms | 1728 KiB |
| 51_max_tree_04 | AC | 39 ms | 1724 KiB |
| 51_max_tree_05 | AC | 37 ms | 1720 KiB |
| 51_max_tree_06 | AC | 41 ms | 1992 KiB |
| 51_max_tree_07 | AC | 42 ms | 1932 KiB |
| 90_special_00 | AC | 45 ms | 1856 KiB |
| 90_special_01 | AC | 39 ms | 1720 KiB |
| 90_special_02 | AC | 39 ms | 1860 KiB |
| 90_special_03 | AC | 36 ms | 1868 KiB |