QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#579630#9221. Missing BoundariesyuanyuxuanWA 27ms9784kbC++201.4kb2024-09-21 16:14:342024-09-21 16:14:34

Judging History

你现在查看的是最新测评结果

  • [2024-09-21 16:14:34]
  • 评测
  • 测评结果:WA
  • 用时:27ms
  • 内存:9784kb
  • [2024-09-21 16:14:34]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
inline ll read(){
	ll x=0;char ch=getchar();bool f=0;
	for (;!isdigit(ch);ch=getchar()) if (ch=='-') f=1;
	for (;isdigit(ch);ch=getchar()) x=x*10+ch-'0';
	return f?-x:x;
}
void write(ll x){
	if (x<0) putchar('-'),x=-x;
	if (x>=10) write(x/10);putchar(x%10+'0');
}
void writeln(ll x){write(x);putchar('\n');}
void writep(ll x){write(x);putchar(' ');}

#define int long long

int const N=2e5+3;
int t,n,m,l;
struct node{
	int l,r;
}a[N],b[N];

bool cmp(node A,node B){
	return max(A.l,A.r)<max(B.l,B.r);
}

signed main(){
	t=read();
	while (t--){
		n=read();l=read();m=0;
		for (int i=1;i<=n;i++){
			b[i].l=read();b[i].r=read();
			if (b[i].l!=-1 || b[i].r!=-1) a[++m].l=b[i].l,a[m].r=b[i].r;
		}
		sort(a+1,a+m+1,cmp);
		int pos=1,flag=0,tot=l,Min=0;
		a[0].r=0;
		for (int i=1;i<=m;i++){
			if (a[i-1].r!=-1 && a[i].l!=-1 && a[i-1].r+1!=a[i].l) Min++;
			if (a[i].l!=-1 && pos>a[i].l){
				flag=1;
				break;
			}
			if (a[i].l!=-1 && a[i].r!=-1) tot-=a[i].r-a[i].l+1;
			else tot--;
			pos=max(a[i].l,a[i].r)+1;
		}
		if (m>0 && a[m].r!=-1 && a[m].r!=l) Min++;
		if (n==197838) cout<<flag<<' '<<n-m<<' '<<tot<<' '<<Min<<endl;
		if (flag || tot<n-m || n-m<Min) puts("NIE");
		else puts("TAK");
	}
}
/*
3
4 51
1 -1
11 50
-1 -1
-1 10
3 2
-1 -1
-1 -1
-1 -1
2 3
1 2
2 3
*/

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 5592kb

input:

3
4 51
1 -1
11 50
-1 -1
-1 10
3 2
-1 -1
-1 -1
-1 -1
2 3
1 2
2 3

output:

TAK
NIE
NIE

result:

ok 3 lines

Test #2:

score: 0
Accepted
time: 27ms
memory: 9784kb

input:

1
200000 1000000000
490669427 -1
224278942 224287156
821104480 -1
861696576 861702036
807438935 807440055
574078002 574083717
465630141 -1
195378188 -1
-1 13500961
-1 977536179
92893115 -1
-1 661145418
-1 215804863
-1 685338515
544348999 -1
465532902 -1
130346949 -1
-1 526666304
635604584 635605404
...

output:

TAK

result:

ok single line: 'TAK'

Test #3:

score: 0
Accepted
time: 0ms
memory: 5740kb

input:

3
4 51
1 -1
11 50
-1 -1
-1 10
3 2
-1 -1
-1 -1
-1 -1
2 3
1 2
2 3

output:

TAK
NIE
NIE

result:

ok 3 lines

Test #4:

score: -100
Wrong Answer
time: 25ms
memory: 9596kb

input:

1
197838 400000
34167 34169
352180 -1
235963 -1
-1 -1
160401 160405
347288 -1
270353 270354
214502 214504
183243 183245
-1 -1
-1 36193
-1 -1
-1 17557
273498 273500
269137 -1
395099 395100
285515 285518
-1 -1
71041 71042
324060 -1
-1 385151
-1 379645
-1 -1
-1 185142
-1 191584
89259 89261
328347 32834...

output:

0 33079 134351 33079
TAK

result:

wrong answer 1st lines differ - expected: 'TAK', found: '0 33079 134351 33079'