제출 #1068012

#제출 시각아이디문제언어결과실행 시간메모리
1068012Muhammad_Aneeq통행료 (IOI18_highway)C++17
5 / 100
7 ms600 KiB
#include <vector> #include <iostream> #include <map> #include "highway.h" using namespace std; int const MAXN=1e5; vector<int>w; long long dis=0; vector<int>d; void divi(int st,int en) { if (st==en) { d.push_back(st); return; } int mid=(st+en)/2; for (int i=st;i<=mid;i++) w[i]=1; long long g=ask(w); for (int i=st;i<=mid;i++) w[i]=0; if (g>dis) divi(st,mid); for (int i=mid+1;i<=en;i++) w[i]=1; g=ask(w); for (int i=mid+1;i<=en;i++) w[i]=0; if (g>dis) divi(mid+1,en); } void find_pair(int N, vector<int> U, vector<int> V, int A, int B) { int m=U.size(); if (m==N-1) { for (int i=0;i<m;i++) w.push_back(0); dis=ask(w); divi(0,m-1); map<int,int>cnt; for (auto i:d) cnt[U[i]]++,cnt[V[i]]++; vector<int>ans; for (auto i:cnt) if (i.second==1) ans.push_back(i.first); answer(ans[0],ans[1]); } else answer(0,1); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...