QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#424477 | #8711. Tiles | Matutino# | 4 | 35ms | 27724kb | C++14 | 1.6kb | 2024-05-29 11:08:27 | 2024-05-29 11:08:27 |
Judging History
answer
#include<bits/stdc++.h>
// #define int long long
#define reg register
inline int read(){
int k=1,x=0;char ch=getchar();
while (ch<'0'||ch>'9') {if (ch=='-') k=-1; ch=getchar();}
while (ch>='0'&&ch<='9') x=(x<<3)+(x<<1)+ch-48,ch=getchar();
return k*x;
}
const int N=5e5+10,INF=1e18;
int n,m,mx,my,bx[N],by[N],ans;
struct Node{int x,y;}p[N];
std::vector<std::pair<int,int>> vc[N];
int vis[N];
inline void upd(reg int i){
reg int op=-1,flg=0;
for (reg int j=2;j<=my;j++) if (vis[j]>-1){
reg int d=bx[i]-bx[vis[j]]&1;
if (op==-1) op=d; else if (op!=d){flg=1;break;}
}
if (!flg&&op!=-1) ans=bx[i]-op,std::cerr<<"ans "<<bx[i]-op<<"\n";
}
signed main(){
n=read(),m=read();
for (reg int i=1;i<=n;i++) bx[++mx]=p[i].x=read(),by[++my]=p[i].y=read();
std::sort(bx+1,bx+mx+1),std::sort(by+1,by+my+1);
mx=std::unique(bx+1,bx+mx+1)-bx-1,my=std::unique(by+1,by+my+1)-by-1;
for (reg int i=1;i<=n;i++){
p[i].x=std::lower_bound(bx+1,bx+mx+1,p[i].x)-bx;
p[i].y=std::lower_bound(by+1,by+mx+1,p[i].y)-by;
}
for (reg int i=1;i<n;i++) if (p[i].x==p[i+1].x)
vc[p[i].x].push_back({std::min(p[i].y,p[i+1].y),std::max(p[i].y,p[i+1].y)});
memset(vis,-1,sizeof(vis));
for (reg int i=1;i<=mx;i++){
reg int len=0,flg=0;
for (reg int j=2;j<=my;j++)
if (vis[j]==-1){if (len&1){flg=1;break;} len=0;}
else len+=by[j]-by[j-1];
// std::cerr<<len<<"\n";
if (flg||(len&1)) break;
upd(i);
for (auto [l,r]:vc[i]){
for (reg int j=l+1;j<=r;j++){
if (vis[j]>-1&&(bx[i]-bx[vis[j]]&1)){flg=1;break;}
vis[j]=vis[j]>-1?-1:i;
}
}
if (flg) break;
}
printf("%d\n",ans);
return 0;
}
詳細信息
Subtask #1:
score: 4
Accepted
Test #1:
score: 4
Accepted
time: 0ms
memory: 21844kb
input:
4 3 0 0 0 3 3 3 3 0
output:
0
result:
ok single line: '0'
Test #2:
score: 0
Accepted
time: 0ms
memory: 22504kb
input:
4 999999999 999999999 0 999999999 1000000000 0 1000000000 0 0
output:
999999998
result:
ok single line: '999999998'
Test #3:
score: 0
Accepted
time: 3ms
memory: 21960kb
input:
4 875 875 0 0 0 0 284 875 284
output:
874
result:
ok single line: '874'
Test #4:
score: 0
Accepted
time: 0ms
memory: 22788kb
input:
4 317 317 0 317 920 0 920 0 0
output:
316
result:
ok single line: '316'
Test #5:
score: 0
Accepted
time: 0ms
memory: 22784kb
input:
4 912 912 814 912 0 0 0 0 814
output:
912
result:
ok single line: '912'
Test #6:
score: 0
Accepted
time: 2ms
memory: 22824kb
input:
4 2 0 0 0 1 2 1 2 0
output:
0
result:
ok single line: '0'
Test #7:
score: 0
Accepted
time: 0ms
memory: 22796kb
input:
4 1 0 0 0 1 1 1 1 0
output:
0
result:
ok single line: '0'
Test #8:
score: 0
Accepted
time: 0ms
memory: 23592kb
input:
4 412 412 998 0 998 0 17 412 17
output:
0
result:
ok single line: '0'
Test #9:
score: 0
Accepted
time: 0ms
memory: 22916kb
input:
4 87523458 87523458 42385699 0 42385699 0 23498231 87523458 23498231
output:
87523458
result:
ok single line: '87523458'
Test #10:
score: 0
Accepted
time: 0ms
memory: 21912kb
input:
4 1 0 0 0 1000000000 1 1000000000 1 0
output:
0
result:
ok single line: '0'
Test #11:
score: 0
Accepted
time: 5ms
memory: 22772kb
input:
4 1000000000 1000000000 0 1000000000 1000000000 0 1000000000 0 0
output:
1000000000
result:
ok single line: '1000000000'
Subtask #2:
score: 0
Wrong Answer
Dependency #1:
100%
Accepted
Test #12:
score: 9
Accepted
time: 4ms
memory: 22332kb
input:
5 29034873 29034873 13721 0 13721 0 99198237 29034870 99198237 29034873 99198237
output:
29034872
result:
ok single line: '29034872'
Test #13:
score: 0
Accepted
time: 3ms
memory: 21348kb
input:
6 999999993 2934870 21349 2934870 3423847 0 3423847 0 91827393 999999993 91827393 999999993 21349
output:
999999992
result:
ok single line: '999999992'
Test #14:
score: 0
Accepted
time: 0ms
memory: 21868kb
input:
6 401 153 409 153 751 0 751 0 909 401 909 401 409
output:
152
result:
ok single line: '152'
Test #15:
score: 0
Accepted
time: 0ms
memory: 22724kb
input:
5 726 0 286 0 315 726 315 726 122 0 122
output:
0
result:
ok single line: '0'
Test #16:
score: 0
Accepted
time: 0ms
memory: 22680kb
input:
6 999 616 129 616 311 0 311 0 529 999 529 999 129
output:
998
result:
ok single line: '998'
Test #17:
score: 0
Accepted
time: 5ms
memory: 23544kb
input:
6 3 0 0 0 4 3 4 3 2 2 2 2 0
output:
2
result:
ok single line: '2'
Test #18:
score: 0
Accepted
time: 0ms
memory: 22588kb
input:
6 3 0 0 0 2 1 2 1 3 3 3 3 0
output:
0
result:
ok single line: '0'
Test #19:
score: 0
Accepted
time: 0ms
memory: 22772kb
input:
6 717 204 1000 0 1000 0 306 548 306 717 306 717 1000
output:
716
result:
ok single line: '716'
Test #20:
score: 0
Accepted
time: 0ms
memory: 21648kb
input:
6 804 785 17 785 665 0 665 0 969 804 969 804 17
output:
784
result:
ok single line: '784'
Test #21:
score: 0
Accepted
time: 2ms
memory: 21824kb
input:
6 973 973 772 973 122 42 122 42 6 0 6 0 772
output:
972
result:
ok single line: '972'
Test #22:
score: 0
Accepted
time: 2ms
memory: 22240kb
input:
6 615 492 993 492 748 615 748 615 311 0 311 0 993
output:
492
result:
ok single line: '492'
Test #23:
score: 0
Accepted
time: 2ms
memory: 23408kb
input:
6 999 999 424 999 302 83 302 83 70 0 70 0 424
output:
82
result:
ok single line: '82'
Test #24:
score: 0
Accepted
time: 0ms
memory: 21836kb
input:
6 884 884 622 884 317 228 317 228 96 0 96 0 622
output:
228
result:
ok single line: '228'
Test #25:
score: -9
Wrong Answer
time: 3ms
memory: 23120kb
input:
6 6 0 6 3 6 3 4 6 4 6 0 0 0
output:
5
result:
wrong answer 1st lines differ - expected: '2', found: '5'
Subtask #3:
score: 0
Time Limit Exceeded
Test #32:
score: 11
Accepted
time: 4ms
memory: 22700kb
input:
1551 1000 0 988 2 988 3 988 6 988 6 985 6 982 6 981 6 979 6 978 6 977 6 976 6 975 6 974 6 972 6 970 6 969 6 968 6 966 6 965 6 964 7 964 8 964 8 963 8 961 8 960 10 960 11 960 13 960 16 960 16 959 16 958 16 957 16 954 16 953 16 951 16 950 17 950 18 950 18 948 18 946 18 945 18 944 18 942 18 941 18 939 ...
output:
164
result:
ok single line: '164'
Test #33:
score: 0
Accepted
time: 16ms
memory: 22596kb
input:
36221 1000000000 0 996776952 43916 996776952 43916 996301596 102050 996301596 102050 995243908 173144 995243908 173144 992639626 184542 992639626 184542 987461238 192474 987461238 192474 982703402 406098 982703402 406098 980100986 525272 980100986 525272 978443232 532708 978443232 532708 977775310 6...
output:
14903120
result:
ok single line: '14903120'
Test #34:
score: -11
Time Limit Exceeded
input:
193828 1000000000 0 999998938 7028 999998938 7028 999997962 20232 999997962 20232 999997052 23456 999997052 23456 999996854 30820 999996854 30820 999996798 53224 999996798 53224 999996114 55112 999996114 55112 999995972 57148 999995972 57148 999995732 59864 999995732 59864 999995618 64052 999995618 ...
output:
result:
Subtask #4:
score: 0
Wrong Answer
Test #45:
score: 19
Accepted
time: 0ms
memory: 22072kb
input:
14 6 0 1 0 3 2 3 2 4 0 4 0 6 3 6 3 7 4 7 6 7 6 5 3 5 3 2 3 1
output:
2
result:
ok single line: '2'
Test #46:
score: -19
Wrong Answer
time: 0ms
memory: 22252kb
input:
18 9 0 2 2 2 2 1 4 1 4 0 9 0 9 2 4 2 4 4 7 4 7 3 9 3 9 6 4 6 4 5 2 5 2 4 0 4
output:
0
result:
wrong answer 1st lines differ - expected: '6', found: '0'
Subtask #5:
score: 0
Wrong Answer
Test #89:
score: 0
Wrong Answer
time: 23ms
memory: 24716kb
input:
199996 198506138 31225688 248200160 31225688 248291950 28995282 248291950 28995282 248200160 26764876 248200160 26764876 248291950 24534470 248291950 24534470 248200160 22304064 248200160 22304064 248291950 20073658 248291950 20073658 248200160 17843252 248200160 17843252 248291950 15612846 24829195...
output:
140515582
result:
wrong answer 1st lines differ - expected: '0', found: '140515582'
Subtask #6:
score: 0
Time Limit Exceeded
Test #118:
score: 25
Accepted
time: 35ms
memory: 27724kb
input:
200000 1000000000 1000000000 0 999990876 0 999990876 38 999972524 38 999972524 1510 999969180 1510 999969180 3734 999964780 3734 999964780 4138 999960464 4138 999960464 11052 999953728 11052 999953728 24478 999914972 24478 999914972 25892 999909864 25892 999909864 28102 999902920 28102 999902920 301...
output:
40502
result:
ok single line: '40502'
Test #119:
score: -25
Time Limit Exceeded
input:
200000 778696306 22822858 87970191 330038016 87970191 330038016 87957657 259262362 87957657 259262362 87923225 316313936 87923225 316313936 87896643 155653960 87896643 155653960 87890367 184851800 87890367 184851800 87877609 93595576 87877609 93595576 87838069 384366344 87838069 384366344 87822439 3...
output:
result:
Subtask #7:
score: 0
Skipped
Dependency #1:
100%
Accepted
Dependency #2:
0%