提出 #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
結果
AC × 65
セット名 テストケース
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