QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#563342#9221. Missing Boundariesarnold518#WA 67ms7964kbC++171.6kb2024-09-14 10:12:312024-09-14 10:12:32

Judging History

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

  • [2024-09-14 10:12:32]
  • 评测
  • 测评结果:WA
  • 用时:67ms
  • 内存:7964kb
  • [2024-09-14 10:12:31]
  • 提交

answer

#include <bits/stdc++.h>
#define ff first
#define ss second
using namespace std;

typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;

const int MAXN = 2e5;

int N, L;
pii A[MAXN+10];

int main2()
{
    cin >> N >> L;
    for(int i=1; i<=N; i++) cin >> A[i].first >> A[i].second;
    if(N>L) return !(cout << "NIE\n");
    vector<int> V, in, out, chk;
    for(int i=1; i<=N; i++)
    {
        if(A[i].first!=-1) A[i].first--;
        if(A[i].first!=-1) V.push_back(A[i].first);
        if(A[i].second!=-1) V.push_back(A[i].second);
    }
    V.push_back(0); V.push_back(L);
    sort(V.begin(), V.end());
    V.erase(unique(V.begin(), V.end()), V.end());
    chk=in=out=vector<int>(V.size());

    for(int i=1; i<=N; i++)
    {
        auto [a, b] = A[i];
        if(a!=-1) a=lower_bound(V.begin(), V.end(), a)-V.begin();
        if(b!=-1) b=lower_bound(V.begin(), V.end(), b)-V.begin();
        if(a!=-1 && b!=-1 && a+1!=b) return !(cout << "NIE\n");
        if(a!=-1 && b!=-1) chk[a]=1;
        if(a!=-1) out[a]++;
        if(b!=-1) in[b]++;
    }

    for(int i=0; i<V.size(); i++)
    {
        if(in[i]>1 || out[i]>1) return !(cout << "NIE\n");
    }

    ll l=0, r=0;
    for(int i=0; i+1<V.size(); i++)
    {
        if(chk[i]) continue;
        if(out[i] && in[i+1]) l++, r+=V[i+1]-V[i]-1;
        else r+=V[i+1]-V[i]-1;
    }

    // cout << l << " " << r << "\n";

    if(l<=N+1-V.size() && N+1-V.size()<=r) cout << "TAK\n";
    else cout << "NIE\n";
    return 0;
}

void reset()
{

}

int main() {
    cin.tie(0); ios_base::sync_with_stdio(0);

    int TC;
    cin >> TC;
    while(TC--)
    {
        main2();
        reset();
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 67ms
memory: 7840kb

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: 3620kb

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: 0
Accepted
time: 51ms
memory: 7964kb

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:

TAK

result:

ok single line: 'TAK'

Test #5:

score: -100
Wrong Answer
time: 46ms
memory: 5540kb

input:

2
97340 150000
-1 101927
105937 -1
-1 107253
-1 47307
110550 -1
84061 84062
125176 125177
-1 15915
29617 -1
-1 -1
-1 43147
115958 -1
101807 101808
24866 -1
66826 66828
-1 31640
-1 5610
1281 1284
-1 -1
-1 -1
-1 73973
-1 2945
29064 -1
30653 -1
-1 63714
-1 -1
141389 141390
-1 27465
57358 -1
47388 47389...

output:

TAK
NIE

result:

wrong answer 1st lines differ - expected: 'NIE', found: 'TAK'