QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#353845#89. Restore ArrayMax_s_xaM20 320ms4240kbC++143.3kb2024-03-14 17:39:212024-03-14 17:39:21

Judging History

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

  • [2024-03-14 17:39:21]
  • 评测
  • 测评结果:20
  • 用时:320ms
  • 内存:4240kb
  • [2024-03-14 17:39:21]
  • 提交

answer

#include <iostream>
#include <algorithm>
#include <queue>

typedef long long ll;
typedef double lf;

// #define DEBUG 1
struct IO
{
    #define MAXSIZE (1 << 20)
    #define isdigit(x) (x >= '0' && x <= '9')
    char buf[MAXSIZE], *p1, *p2;
    char pbuf[MAXSIZE], *pp;
    #if DEBUG
    #else
    IO() : p1(buf), p2(buf), pp(pbuf) {}
    ~IO() {fwrite(pbuf, 1, pp - pbuf, stdout);}
    #endif
    #define gc() (p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, MAXSIZE, stdin), p1 == p2) ? ' ' : *p1++)
    #define blank(x) (x == ' ' || x == '\n' || x == '\r' || x == '\t')

    template <typename T>
    void Read(T &x)
    {
        #if DEBUG
        std::cin >> x;
        #else
        bool sign = 0; char ch = gc(); x = 0;
        for (; !isdigit(ch); ch = gc())
            if (ch == '-') sign = 1;
        for (; isdigit(ch); ch = gc()) x = x * 10 + (ch ^ 48);
        if (sign) x = -x;
        #endif
    }
    void Read(char *s)
    {
        #if DEBUG
        std::cin >> s;
        #else
        char ch = gc();
        for (; blank(ch); ch = gc());
        for (; !blank(ch); ch = gc()) *s++ = ch;
        *s = 0;
        #endif
    }
    void Read(char &c) {for (c = gc(); blank(c); c = gc());}

    void Push(const char &c)
    {
        #if DEBUG
        putchar(c);
        #else
        if (pp - pbuf == MAXSIZE) fwrite(pbuf, 1, MAXSIZE, stdout), pp = pbuf;
        *pp++ = c;
        #endif
    }
    template <typename T>
    void Write(T x)
    {
        if (x < 0) x = -x, Push('-');
        static T sta[35];
        int top = 0;
        do sta[top++] = x % 10, x /= 10; while (x);
        while (top) Push(sta[--top] ^ 48);
    }
    template <typename T>
    void Write(T x, char lst) {Write(x), Push(lst);}
} IO;
#define Read(x) IO.Read(x)
#define Write(x, y) IO.Write(x, y)
#define Put(x) IO.Push(x)

using namespace std;

const int MAXN = 5010, MAXM = 1e4 + 10;

int n, m;
struct Edge
{
    int v, nxt, w;
}e[MAXM << 2];
int head[MAXN], tot;
inline void AddEdge(int u, int v, int w)
{
    // cout << u << ' ' << v << " " << w << '\n';
    e[++tot] = Edge{v, head[u], w}, head[u] = tot;
}

ll dis[MAXN]; int h[MAXN];
bool vis[MAXN];
queue <int> q;
inline bool SPFA()
{
    for (int i = 1; i <= n; i++) dis[i] = 1e18;
    q.push(0), h[0] = 1;
    while (!q.empty())
    {
        int u = q.front(); q.pop();
        vis[u] = 0;
        for (int i = head[u]; i; i = e[i].nxt)
        {
            int v = e[i].v;
            if (dis[v] > dis[u] + e[i].w)
            {
                dis[v] = dis[u] + e[i].w, h[v] = h[u] + 1;
                if (h[v] > n + 1) return 0;
                if (!vis[v]) vis[v] = 1, q.push(v);
            }
        }
    }
    return 1;
}

int main()
{
    #if DEBUG
    #else
    ios::sync_with_stdio(0), cin.tie(0);
    #endif
    Read(n), Read(m);
    for (int i = 1, l, r, k, tp; i <= m; i++)
    {
        Read(l), Read(r), Read(k), Read(tp); l++, r++;
        if (tp) AddEdge(r, l - 1, k - (r - l + 1) - 1);
        else AddEdge(l - 1, r, r - l + 1 - k);
    }
    for (int i = 0; i < n; i++) AddEdge(i + 1, i, 0), AddEdge(i, i + 1, 1);
    bool flag = SPFA();
    if (flag)
    {
        for (int i = 1; i <= n; i++) cout << dis[i] - dis[i - 1] << ' ';
        cout << '\n';
    }
    else cout << "-1\n";
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 7
Accepted

Test #1:

score: 7
Accepted
time: 1ms
memory: 3644kb

input:

8 13
0 1 2 1
3 5 1 1
5 7 2 1
0 2 2 0
2 5 3 1
3 7 4 1
2 2 1 0
0 1 1 0
2 7 5 1
2 4 1 0
0 4 2 0
4 5 2 1
1 2 1 0

output:

1 0 0 1 1 1 1 1 

result:

ok your plan is correct!

Test #2:

score: 0
Accepted
time: 1ms
memory: 3524kb

input:

7 10
0 3 4 1
2 3 1 0
1 2 2 0
1 3 2 0
0 5 3 0
0 5 5 1
1 4 2 0
2 4 1 0
1 3 3 0
3 5 2 0

output:

1 0 0 0 1 0 1 

result:

ok your plan is correct!

Test #3:

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

input:

18 190
12 15 3 0
12 12 1 0
11 11 1 0
5 17 3 0
3 4 1 0
1 14 7 0
15 16 1 0
2 13 10 0
4 11 1 0
0 12 2 0
2 10 6 0
6 6 1 0
12 12 1 0
5 8 1 0
2 7 3 0
13 15 2 0
5 14 6 0
14 14 1 0
9 11 1 0
5 17 13 1
6 17 5 0
0 6 1 0
0 9 3 0
10 14 3 0
5 12 1 0
0 17 16 0
0 15 7 0
1 14 8 0
14 16 3 1
1 3 3 1
4 16 11 0
0 16 4 0...

output:

0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 

result:

ok your plan is correct!

Test #4:

score: 0
Accepted
time: 1ms
memory: 3816kb

input:

17 195
12 16 3 1
5 7 3 1
2 10 5 1
5 7 2 1
4 10 7 1
3 9 4 1
8 13 5 1
4 9 2 1
2 7 5 1
1 5 2 1
5 12 3 1
10 13 3 1
5 7 3 1
1 3 3 1
0 9 2 1
3 16 7 1
3 6 3 1
14 16 2 1
3 8 3 1
1 1 1 1
2 15 14 1
1 6 4 1
4 8 1 0
1 2 2 1
4 12 9 1
4 4 1 0
7 13 2 0
2 11 2 0
5 16 2 0
0 3 4 1
9 10 2 1
13 14 2 1
3 8 3 1
11 14 3 1...

output:

1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 0 

result:

ok your plan is correct!

Test #5:

score: 0
Accepted
time: 1ms
memory: 3860kb

input:

18 200
0 17 13 1
0 14 4 0
3 9 1 1
1 6 5 1
8 9 2 1
9 14 3 1
5 15 1 0
10 16 7 1
7 12 3 0
10 17 1 0
1 16 16 1
11 16 5 0
2 15 12 1
4 13 5 0
3 16 10 0
10 16 7 1
4 10 6 1
6 9 1 0
1 12 7 1
4 16 8 0
0 1 1 0
0 12 8 1
1 4 4 1
1 13 8 0
5 14 6 0
7 16 8 1
7 14 4 0
3 15 11 1
0 6 3 1
12 15 3 0
12 15 2 0
4 17 11 1
...

output:

-1

result:

ok No Solution!

Test #6:

score: 0
Accepted
time: 1ms
memory: 3628kb

input:

17 195
0 9 10 1
2 11 1 0
4 6 1 0
4 11 1 0
16 16 1 1
4 5 2 1
0 3 1 1
2 12 5 1
2 13 4 0
8 15 3 1
2 3 2 1
6 12 6 0
5 11 3 1
10 16 4 0
12 13 1 1
3 15 6 1
9 14 6 1
2 10 3 0
1 13 3 1
4 7 1 0
0 4 2 1
0 10 9 1
5 14 5 1
1 6 5 1
5 6 2 1
9 14 5 0
1 6 2 1
0 14 7 0
5 6 1 0
12 14 2 0
2 7 4 0
0 4 4 0
12 14 1 0
1 7...

output:

-1

result:

ok No Solution!

Test #7:

score: 0
Accepted
time: 1ms
memory: 3576kb

input:

16 181
6 7 2 1
4 12 2 0
6 12 6 1
8 8 1 0
4 14 3 0
1 12 5 0
15 15 1 1
9 13 4 0
6 7 2 1
2 12 5 0
5 11 7 1
2 4 2 1
4 5 2 1
10 11 2 0
14 14 1 1
9 14 1 0
3 5 2 1
7 11 4 0
6 13 8 1
5 8 4 1
3 11 7 1
3 13 5 0
9 10 2 0
6 11 4 0
3 8 3 0
13 14 2 1
9 11 2 0
5 8 1 0
4 9 4 0
2 2 1 0
1 13 1 0
2 11 5 0
5 14 4 0
0 3...

output:

0 1 0 1 1 0 1 0 0 0 0 0 1 0 1 1 

result:

ok your plan is correct!

Test #8:

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

input:

16 172
10 15 1 0
11 12 1 0
3 9 5 1
7 11 5 1
8 10 1 0
5 10 4 0
1 15 11 1
9 11 3 0
4 13 7 0
1 3 2 0
5 10 4 0
7 15 8 1
3 11 4 0
9 15 4 0
7 15 6 0
7 10 3 0
7 13 6 0
8 13 6 1
3 9 4 0
5 9 5 1
7 8 1 0
1 14 4 0
10 14 4 0
11 15 2 0
2 13 6 0
6 11 1 0
1 10 10 1
10 12 1 0
2 10 8 1
5 8 3 0
3 11 4 0
10 10 1 0
3 1...

output:

1 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 

result:

ok your plan is correct!

Test #9:

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

input:

18 198
13 14 1 0
1 5 3 0
7 12 3 1
15 15 1 1
4 15 10 1
8 11 2 1
3 12 3 0
10 15 5 1
0 3 1 0
9 16 1 0
7 7 1 1
10 11 2 1
15 17 1 1
11 16 2 0
10 13 4 1
6 10 5 1
2 11 8 1
2 6 4 1
12 12 1 0
0 9 8 1
11 15 2 0
3 14 12 1
11 14 4 1
1 4 3 0
5 14 9 1
2 9 2 0
2 6 1 0
1 17 13 1
6 15 6 1
3 7 4 1
3 4 2 1
6 9 3 1
7 1...

output:

1 0 0 0 1 1 1 1 0 1 1 1 0 0 1 1 1 1 

result:

ok your plan is correct!

Test #10:

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

input:

17 6
1 1 1 0
2 3 1 0
0 0 1 1
2 13 8 1
6 8 1 0
2 5 2 0

output:

1 0 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 

result:

ok your plan is correct!

Subtask #2:

score: 13
Accepted

Test #11:

score: 13
Accepted
time: 6ms
memory: 4064kb

input:

4992 9040
331 4442 1 0
3489 4173 1 0
393 4420 1 0
1324 2666 1 0
1317 4131 1 0
399 3010 1 0
1843 4154 1 0
1119 4876 1 0
4216 4980 1 0
2003 4370 1 0
769 1927 1 0
934 3414 1 0
2072 2507 1 0
215 3526 1 0
1493 4107 1 0
539 1643 1 0
2783 4338 1 0
967 1190 1 0
1374 2868 1 0
34 1378 1 0
71 1418 1 0
2120 223...

output:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 ...

result:

ok your plan is correct!

Test #12:

score: 0
Accepted
time: 7ms
memory: 4004kb

input:

4952 9496
4222 4300 1 0
2892 4392 1 0
4158 4700 1 0
2720 3468 1 0
3002 3114 1 0
1010 4681 1 0
629 4392 1 0
734 2030 1 0
1024 2836 1 0
299 2880 1 0
3728 4858 1 0
1616 2861 1 0
2716 2938 1 0
1265 2892 1 0
1695 1778 1 0
1414 2231 1 0
47 4835 1 0
1554 3489 1 0
2591 3178 1 0
2424 4665 1 0
1089 2460 1 0
2...

output:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 ...

result:

ok your plan is correct!

Test #13:

score: 0
Accepted
time: 3ms
memory: 4240kb

input:

4995 9192
257 4428 1 0
2504 2636 1 0
208 4875 1 0
1462 2898 1 0
1000 2298 1 0
4596 4745 1 0
614 4072 1 0
1425 1941 1 0
2378 4165 1 0
496 1556 1 0
255 4838 1 0
76 2176 1 0
349 3143 1 0
1325 4409 1 0
854 3653 1 0
4656 4945 1 0
2957 4396 1 0
784 4891 1 0
4488 4917 1 0
1721 4188 1 0
231 4748 1 0
282 332...

output:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

result:

ok your plan is correct!

Test #14:

score: 0
Accepted
time: 6ms
memory: 4072kb

input:

4938 9603
2957 4666 1 0
2348 3586 1 0
3501 3789 1 0
2741 4713 1 0
1217 1254 1 0
192 2857 1 0
1242 2716 1 0
2315 4140 1 0
2464 2912 1 0
189 2590 1 0
4150 4701 1 0
3604 3942 1 0
2491 2801 1 0
1009 2819 1 0
1508 3589 1 0
88 4021 1 0
86 487 1 0
2857 4336 1 0
1738 4473 1 0
1385 1969 1 0
3187 4675 1 0
753...

output:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

result:

ok your plan is correct!

Test #15:

score: 0
Accepted
time: 314ms
memory: 4052kb

input:

4923 9528
377 1664 1 0
629 4786 1 0
0 3255 1 0
785 3022 1 1
1009 2063 1 1
3041 4632 1 1
156 3479 1 0
107 4762 1 0
140 1296 1 1
1542 4475 1 0
935 2058 1 0
1230 2832 1 0
2616 2756 1 1
1184 1951 1 0
481 4708 1 0
550 3300 1 0
791 1219 1 0
2423 4289 1 1
1558 2502 1 0
720 2744 1 0
3282 4611 1 1
1795 2077 ...

output:

-1

result:

ok No Solution!

Test #16:

score: 0
Accepted
time: 320ms
memory: 4048kb

input:

4993 9026
407 4008 1 0
1175 3810 1 0
1935 3175 1 0
702 3112 1 0
759 4120 1 0
350 2774 1 1
3711 3813 1 1
1723 2232 1 0
1938 2653 1 1
3780 4873 1 0
1765 4967 1 1
1444 3182 1 1
2189 3485 1 0
1101 1385 1 0
1684 1892 1 1
658 1163 1 0
4143 4382 1 0
2683 4035 1 1
539 4555 1 0
2188 4158 1 0
1081 4527 1 1
42...

output:

-1

result:

ok No Solution!

Subtask #3:

score: 0
Time Limit Exceeded

Dependency #1:

100%
Accepted

Test #17:

score: 25
Accepted
time: 7ms
memory: 4084kb

input:

4938 9881
1814 3083 1 0
2918 2958 41 1
2085 2909 825 1
2595 3342 748 1
1147 2469 1323 1
2697 2734 1 0
407 4791 1 0
568 2847 1 0
2500 2905 1 0
1670 3662 1 0
1692 3400 1709 1
35 436 402 1
1393 2755 1 0
1074 4777 3704 1
552 1519 1 0
3216 3566 351 1
1841 2502 1 0
3 1708 1706 1
90 3062 1 0
1593 2428 1 0
...

output:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

result:

ok your plan is correct!

Test #18:

score: 0
Accepted
time: 3ms
memory: 4072kb

input:

4948 9938
597 2134 1 0
192 2940 2749 1
116 4688 4573 1
449 2324 1 0
3526 4697 1172 1
4178 4738 1 0
4472 4845 1 0
323 1072 1 0
724 4075 3352 1
2828 3622 1 0
712 980 269 1
891 1227 1 0
4117 4895 779 1
419 1627 1 0
927 2579 1653 1
1961 3667 1707 1
1065 3028 1 0
2275 4477 2203 1
3396 3451 56 1
1273 1660...

output:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 ...

result:

ok your plan is correct!

Test #19:

score: 0
Accepted
time: 12ms
memory: 4096kb

input:

4957 9852
86 2229 2144 1
838 3854 1 0
177 2427 1 0
1516 2489 974 1
3404 3854 1 0
2667 3472 1 0
260 834 1 0
3096 4769 1674 1
1288 3517 2230 1
60 4378 4319 1
1905 2286 1 0
21 1956 1 0
2956 3222 1 0
122 4000 1 0
4089 4678 590 1
425 4031 3607 1
1424 2198 1 0
1107 1949 843 1
4262 4638 1 0
327 4871 1 0
12...

output:

1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 ...

result:

ok your plan is correct!

Test #20:

score: 0
Accepted
time: 5ms
memory: 3976kb

input:

4968 9370
2090 2853 1 0
2394 2881 1 0
3912 4279 368 1
850 2352 1 0
2617 4178 1 0
1828 4085 2258 1
1238 1265 1 0
2498 4892 1 0
1921 4034 1 0
3509 4415 907 1
1812 3166 1 0
1562 2316 1 0
1008 2379 1 0
723 3907 1 0
1414 2613 1 0
1076 4475 1 0
2323 4505 2183 1
109 3030 2922 1
1752 3456 1 0
480 4794 4315 ...

output:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

result:

ok your plan is correct!

Test #21:

score: -25
Time Limit Exceeded

input:

4924 9503
71 756 1 1
1059 3314 1 0
2316 4611 2296 1
1773 2672 900 1
1471 2988 1 0
743 4385 1 0
881 2662 1 0
730 2407 1 0
55 3312 3258 0
29 1524 1496 1
3658 4367 710 1
1678 2706 1 0
2486 2928 443 1
222 3818 3597 1
209 3337 1 1
29 3045 3017 1
1563 3082 1520 0
3188 3333 1 1
2445 4375 1 1
247 952 706 1
...

output:


result:


Subtask #4:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

100%
Accepted

Dependency #3:

0%