QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#18216#2178. RobotAK_Dream#0 508ms70972kbC++141.6kb2022-01-16 20:14:592022-05-04 17:21:19

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-05-04 17:21:19]
  • 评测
  • 测评结果:0
  • 用时:508ms
  • 内存:70972kb
  • [2022-01-16 20:14:59]
  • 提交

answer

#include <bits/stdc++.h>
#define N 1000005
using namespace std;
typedef long long ll;

int n, m, tot;
int _u[N], _v[N], _c[N], _w[N];
int head[N], pre[N<<1], to[N<<1], sz; 
unordered_map<int, int> mp[100005];
ll dis[N], sum[N], val[N<<1];
bool vis[N];
priority_queue<pair<ll, int> > q;

inline void addedge(int u, int v, ll w) {
    pre[++sz] = head[u]; head[u] = sz; to[sz] = v; val[sz] = w;
}

int main() {
    scanf("%d %d", &n, &m);
    tot = n;
    for (int i = 1, u, v, c, w; i <= m; i++) {
        scanf("%d %d %d %d", &u, &v, &c, &w);
        _u[i] = u, _v[i] = v, _c[i] = c, _w[i] = w;
        if (!mp[u].count(c)) mp[u][c] = ++tot, addedge(u, tot, 0);
        if (!mp[v].count(c)) mp[v][c] = ++tot, addedge(v, tot, 0);
        sum[mp[u][c]] += w; sum[mp[v][c]] += w;
    }
    for (int i = 1, u, v, c, w; i <= m; i++) {
        u = _u[i], v = _v[i], c = _c[i], w = _w[i];
        addedge(u, v, w); addedge(v, u, w);
        addedge(u, mp[v][c], 0); addedge(v, mp[u][c], 0);
        addedge(mp[u][c], v, sum[mp[u][c]]-w); addedge(mp[v][c], u, sum[mp[v][c]]-w);
    }
    memset(dis, 0x3f, sizeof(dis));
    dis[1] = 0; q.push(make_pair(0, 1));
    while (!q.empty()) {
        int x = q.top().second; q.pop();
        if (vis[x]) continue; else vis[x] = 1;
        for (int i = head[x]; i; i = pre[i]) {
            int y = to[i];
            if (dis[y] > dis[x]+val[i]) {
                dis[y] = dis[x] + val[i];
                q.push(make_pair(-dis[y], y));
            }
        }
    }
    printf("%lld\n", dis[n]);
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 34
Accepted
time: 3ms
memory: 17080kb

input:

2 1
1 2 1 10

output:

0

result:

ok single line: '0'

Test #2:

score: -34
Wrong Answer
time: 4ms
memory: 17580kb

input:

8 1
5 6 1 7

output:

4557430888798830399

result:

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

Subtask #2:

score: 0
Wrong Answer

Test #21:

score: 24
Accepted
time: 126ms
memory: 32900kb

input:

25437 78923
921 9998 30945 1
5452 13736 24464 1
11746 24238 24464 1
10875 12958 24464 1
12267 20617 30945 1
3738 16549 35589 1
16223 16940 35589 1
1303 23059 24464 1
12424 21853 24464 1
11198 20674 35589 1
15645 19099 30945 1
8860 9441 24464 1
3609 15160 35589 1
22638 23472 24464 1
766 8991 35589 1
...

output:

5

result:

ok single line: '5'

Test #22:

score: 0
Accepted
time: 38ms
memory: 24996kb

input:

15761 34565
6553 7857 4268 1
1139 8149 4268 1
4136 9004 4268 1
3810 8194 27009 1
3005 10547 9061 1
3025 15018 27009 1
5735 6627 9061 1
2337 12263 9061 1
4260 8046 9061 1
12549 14043 4268 1
6992 11456 4268 1
833 4225 4268 1
1609 9603 4268 1
2588 9564 9061 1
2361 8162 27009 1
10250 10706 4268 1
6878 1...

output:

6

result:

ok single line: '6'

Test #23:

score: 0
Accepted
time: 171ms
memory: 36164kb

input:

16917 133722
10190 12792 75746 1
4125 15443 75746 1
163 5884 29061 1
2756 10488 29061 1
7080 9199 75746 1
1463 4211 75746 1
5115 7366 29061 1
10308 11662 75746 1
1196 14025 29061 1
2863 14178 75746 1
9795 13347 75746 1
13003 13888 75746 1
5035 16673 75746 1
1356 15130 75746 1
13068 16408 29061 1
349...

output:

3

result:

ok single line: '3'

Test #24:

score: 0
Accepted
time: 79ms
memory: 28408kb

input:

25063 52020
145 18915 3816 1
5378 20731 3816 1
17344 23239 21514 1
2212 6628 3816 1
3462 15824 3816 1
1660 15356 21514 1
7250 18036 21514 1
8600 17595 21514 1
1446 12372 3816 1
10292 22860 3816 1
6562 18473 21514 1
10903 20797 21514 1
5932 8895 21514 1
5310 8230 3816 1
15875 24245 21514 1
3521 3908 ...

output:

5

result:

ok single line: '5'

Test #25:

score: 0
Accepted
time: 508ms
memory: 70972kb

input:

99999 199988
4731 83366 89897 1
80907 83366 155057 1
1 15876 82022 1
83366 86520 193680 1
15678 83366 180045 1
31911 59651 263 1
1 61854 122596 1
83366 99983 63626 1
67027 83366 28130 1
19313 83366 74260 1
59651 87942 97680 1
1 98039 115849 1
53600 83366 150525 1
26771 83366 120178 1
80859 83366 537...

output:

3

result:

ok single line: '3'

Test #26:

score: 0
Accepted
time: 441ms
memory: 64804kb

input:

99999 199988
11815 64227 56577 1
11815 60572 63128 1
1 78695 24435 1
12018 22361 50088 1
11815 67504 38323 1
12018 19012 107473 1
11815 63558 63128 1
71961 74024 63128 1
11815 63837 63128 1
11815 35595 63128 1
12018 57914 87572 1
12018 54264 88988 1
12018 66879 117942 1
1 49113 107309 1
12018 81198 ...

output:

3

result:

ok single line: '3'

Test #27:

score: 0
Accepted
time: 349ms
memory: 59776kb

input:

100000 199990
37990 50087 155359 1
22611 37990 155359 1
4362 89790 155359 1
4362 96346 155359 1
4362 54455 155359 1
37990 93050 155359 1
31313 37990 155359 1
36462 37990 155359 1
4362 14580 155359 1
1140 4362 155359 1
4362 70772 155359 1
4362 53585 155359 1
37990 49713 155359 1
4362 47065 155359 1
3...

output:

3

result:

ok single line: '3'

Test #28:

score: 0
Accepted
time: 292ms
memory: 56376kb

input:

100000 199839
11865 45830 161515 1
46988 77944 161515 1
37628 62851 161515 1
21213 29495 161515 1
79467 91266 161515 1
42910 57123 161515 1
83278 89082 161515 1
17867 67021 161515 1
29361 92753 161515 1
32817 45699 161515 1
90648 93260 161515 1
14450 54441 161515 1
27147 85147 161515 1
11506 24762 1...

output:

12347

result:

ok single line: '12347'

Test #29:

score: 0
Accepted
time: 351ms
memory: 56380kb

input:

100000 200000
19447 99453 101188 1
4820 52736 101188 1
51887 94783 101188 1
20762 99520 101188 1
4745 89605 101188 1
49080 66338 101188 1
24656 26963 101188 1
64986 82044 101188 1
22890 89840 101188 1
483 35061 101188 1
72709 85911 101188 1
7597 76399 101188 1
17356 66290 101188 1
73758 94642 101188...

output:

1250

result:

ok single line: '1250'

Test #30:

score: -24
Wrong Answer
time: 225ms
memory: 44276kb

input:

53901 119501
10291 14784 53288 1
4583 13856 53288 1
23363 33647 101468 1
3518 53845 101468 1
36419 38250 112685 1
3198 19748 112685 1
26033 32687 112685 1
14393 44922 112685 1
25180 38428 53288 1
23010 26128 112685 1
2403 51848 101468 1
12179 20699 101468 1
1420 27014 53288 1
35027 39700 112685 1
20...

output:

4557430888798830399

result:

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

Subtask #3:

score: 0
Skipped

Dependency #1:

0%