Submission #1869545
Source Code Expand
#include <iostream>
#include <algorithm>
#include<cmath>
#include<cstring>
#include<cstdio>
#include<cstdlib>
#include<vector>
#include<iomanip>
#include<set>
#include<map>
#define sqr(x) (x)*(x)
using namespace std;
long long n,m,a,b,i,j,dax[100005],day[100005],used[100005],ans,x,y,dis;
map<int,set<pair<int,int>/**/>/**/> row,col;
vector<int> lsx,lsy;
void dfs(int x)
{
if (used[x]) return;
used[x]=1;
int i;
vector<pair<int,int>/**/> era;
set<pair<int,int>/**/>::iterator lb=row[dax[x]-dis].lower_bound(make_pair(day[x]-dis,0));
set<pair<int,int>/**/>::iterator ub=row[dax[x]-dis].upper_bound(make_pair(day[x]+dis,1e18));
for (set<pair<int,int>/**/>::iterator it=lb;it!=ub;it++)
//col[(*it).first].erase(make_pair(dax[x]-dis,(*it).second)),row.erase(it++))
{
ans++;
dfs((*it).second);
}
lb=row[dax[x]+dis].lower_bound(make_pair(day[x]-dis,0));
ub=row[dax[x]+dis].upper_bound(make_pair(day[x]+dis,1e18));
for (set<pair<int,int>/**/>::iterator it=lb;it!=ub;it++)
//col[(*it).first].erase(make_pair(dax[x]-dis,(*it).second)),row.erase(it++))
{
ans++;
dfs((*it).second);
}
lb=col[day[x]-dis].lower_bound(make_pair(day[x]-dis,0));
ub=col[day[x]-dis].upper_bound(make_pair(day[x]+dis,1e18));
for (set<pair<int,int>/**/>::iterator it=lb;it!=ub;it++)
//row[(*it).first].erase(make_pair(day[x]-dis,(*it).second)),col.erase(it++))
{
ans++;
dfs((*it).second);
}
lb=col[day[x]+dis].lower_bound(make_pair(day[x]-dis,0));
ub=col[day[x]+dis].upper_bound(make_pair(day[x]+dis,1e18));
for (set<pair<int,int>/**/>::iterator it=lb;it!=ub;it++)
//row[(*it).first].erase(make_pair(day[x]-dis,(*it).second)),col.erase(it++))
{
ans++;
dfs((*it).second);
}
}
int main()
{
cin>>n>>a>>b;
for (i=1;i<=n;i++)
{
cin>>x>>y;
dax[i]=x+y;
day[i]=x-y;
row[x+y].insert(make_pair(x-y,i));
col[x-y].insert(make_pair(x+y,i));
//lsx.push_back(dax[i]);
//lsy.push_back(day[i]);
}
/*sort(lsx.begin(),lsx.end());
unique(lsx.begin(),lsx.end());
sort(lsy.begin(),lsy.end());
unique(lsy.begin(),lsy.end());
for (i=1;i<=n;i++)
{
dax[i]=upper_bound(lsx.begin(),lsx.end(),dax[i])-lsx.begin()+2;
day[i]=upper_bound(lsy.begin(),lsy.end(),day[i])-lsy.begin()+2;
}*/
dis=max(abs(dax[a]-dax[b]),abs(day[a]-day[b]));
dfs(a);
dfs(b);
cout<<ans;
return 0;
}
Submission Info
Submission Time |
|
Task |
E - Manhattan Compass |
User |
csy2005 |
Language |
C++14 (GCC 5.4.1) |
Score |
0 |
Code Size |
2364 Byte |
Status |
WA |
Exec Time |
3157 ms |
Memory |
27392 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
0 / 900 |
Status |
|
|
Set Name |
Test Cases |
Sample |
subtask0_0.txt, subtask0_1.txt, subtask0_2.txt |
All |
subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_2.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt |
Case Name |
Status |
Exec Time |
Memory |
subtask0_0.txt |
WA |
1 ms |
256 KB |
subtask0_1.txt |
WA |
1 ms |
256 KB |
subtask0_2.txt |
WA |
1 ms |
256 KB |
subtask1_0.txt |
TLE |
3157 ms |
22528 KB |
subtask1_1.txt |
TLE |
3157 ms |
22400 KB |
subtask1_10.txt |
WA |
141 ms |
20864 KB |
subtask1_11.txt |
WA |
105 ms |
11520 KB |
subtask1_12.txt |
AC |
159 ms |
20352 KB |
subtask1_13.txt |
AC |
149 ms |
20480 KB |
subtask1_14.txt |
WA |
171 ms |
26880 KB |
subtask1_15.txt |
WA |
104 ms |
11520 KB |
subtask1_16.txt |
TLE |
3157 ms |
22912 KB |
subtask1_17.txt |
TLE |
3157 ms |
22784 KB |
subtask1_18.txt |
WA |
224 ms |
18816 KB |
subtask1_19.txt |
WA |
104 ms |
11392 KB |
subtask1_2.txt |
WA |
173 ms |
27392 KB |
subtask1_20.txt |
TLE |
3157 ms |
22912 KB |
subtask1_21.txt |
TLE |
3157 ms |
22784 KB |
subtask1_22.txt |
WA |
208 ms |
18944 KB |
subtask1_23.txt |
WA |
188 ms |
17664 KB |
subtask1_24.txt |
TLE |
3157 ms |
22784 KB |
subtask1_3.txt |
WA |
138 ms |
13696 KB |
subtask1_4.txt |
TLE |
3157 ms |
22784 KB |
subtask1_5.txt |
TLE |
3157 ms |
24064 KB |
subtask1_6.txt |
WA |
215 ms |
18048 KB |
subtask1_7.txt |
WA |
146 ms |
15360 KB |
subtask1_8.txt |
AC |
151 ms |
20096 KB |
subtask1_9.txt |
TLE |
3157 ms |
22528 KB |