QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#39289#238. Distinct Valuesznk2373065134WA 978ms2792kbC++1.3kb2022-07-09 11:19:232022-07-09 11:19:24

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-07-09 11:19:24]
  • 评测
  • 测评结果:WA
  • 用时:978ms
  • 内存:2792kb
  • [2022-07-09 11:19:23]
  • 提交

answer

#include <stdio.h>
#include <string.h>
#include <algorithm>

const int MAXN = 100010;
int T, n, m, a[MAXN];

struct seg{
    int l, r;
};
seg p[MAXN];

bool operator < (seg x, seg y) {
    return x.l == y.l ? x.r < y.r : x.l < y.l;
}

int main() {
    p[0].l = p[0].r = 0;
    scanf("%d", &T);
    while (T--) {
        scanf("%d%d", &n, &m);
        for (int i = 1; i <= n; ++i) a[i] = 0;
        for (int i = 1; i <= m; ++i) {
            scanf("%d%d", &p[i].l, &p[i].r);
        }
        std::sort(p + 1, p + m + 1);
        for (int i = 1; i <= m; ++i) {
            if (p[i].r <= p[i - 1].r) continue;
            if (p[i].l > p[i - 1].r) {
                for (int j = 1, pos = p[i].l; pos <= p[i].r; ++j, ++pos) {
                    a[pos] = j;
                }
            } else {
                int st = a[p[i].l], ed = a[p[i - 1].r];
                for (int j = 1, pos = p[i - 1].r + 1; pos <= p[i].r; ++j, ++pos) {
                    if (j == st) {
                        j = ed + 1;
                    }
                    a[pos] = j;
                }
            }
        }
        for (int i = 1; i <= n; ++i) {
            printf("%d", a[i] == 0 ? 1 : a[i]);
            if (i < n) printf(" ");
            else printf("\n");
        }
    }
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 978ms
memory: 2792kb

input:

11116
10 2
5 5
5 6
10 1
7 10
10 1
2 6
10 1
2 5
10 1
6 7
10 2
8 9
7 10
10 2
1 4
6 10
10 4
8 8
10 10
3 6
1 5
10 3
8 8
10 10
8 10
10 4
6 10
1 5
2 6
1 2
10 3
4 4
4 8
4 8
10 4
1 5
1 2
5 5
2 4
10 4
2 5
9 10
6 7
2 4
10 1
5 6
10 4
10 10
8 10
2 5
10 10
10 1
1 2
10 4
7 8
5 6
7 9
10 10
10 4
3 7
6 6
8 10
3 4
10...

output:

1 1 1 1 1 2 1 1 1 1
1 1 1 1 1 1 1 2 3 4
1 1 2 3 4 5 1 1 1 1
1 1 2 3 4 1 1 1 1 1
1 1 1 1 1 1 2 1 1 1
1 1 1 1 1 1 1 2 3 4
1 2 3 4 1 1 2 3 4 5
1 2 3 4 5 1 1 1 1 1
1 1 1 1 1 1 1 1 2 3
1 2 3 4 5 1 2 3 4 5
1 1 1 1 2 3 4 5 1 1
1 2 3 4 1 1 1 1 1 1
1 1 2 3 4 1 2 1 1 2
1 1 1 1 1 2 1 1 1 1
1 1 2 3 4 1 1 1 2 3
...

result:

wrong answer 12th lines differ - expected: '1 2 3 4 5 1 1 1 1 1', found: '1 2 3 4 1 1 1 1 1 1'