27502023-01-20 18:58:18CattVarázserdőcpp17Elfogadva 100/1002.265s205284 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

const ll MOD = 1e9 + 7;

int main() {
    ll n,m;
    cin >> n >> m;

    vector<pair<ll, pair<ll, ll>> > g(m);
    for(ll i = 0; i < m; i++) {
        ll x,y,z;
        cin >> x >> y >> z;
        g[i] = {z, {x, y}};
    }

    vector<map<ll, ll> > v(n+1);
    ll mo = 0;

    sort(g.begin(), g.end());
    for(ll i = 0; i < m; i++) {
        ll x,y,z;
        z = g[i].first, x = g[i].second.first, y = g[i].second.second;
        mo += v[x][z-1] + v[y][z-1] + 2;
        mo %= MOD;
        v[x][z] += v[y][z-1] + 1;
        v[x][z] %= MOD;
        v[y][z] += v[x][z-1] + 1;
        v[y][z] %= MOD;
    }

    cout << (mo + MOD - m) % MOD;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms356 KiB
2Elfogadva3ms400 KiB
3Elfogadva3ms532 KiB
subtask27/7
4Elfogadva3ms744 KiB
5Elfogadva4ms612 KiB
6Elfogadva16ms3100 KiB
7Elfogadva17ms3700 KiB
8Elfogadva1.046s165756 KiB
9Elfogadva1.146s156992 KiB
10Elfogadva930ms147656 KiB
11Elfogadva1s141028 KiB
12Elfogadva855ms138144 KiB
13Elfogadva947ms138084 KiB
subtask39/9
14Elfogadva3ms888 KiB
15Elfogadva4ms896 KiB
16Elfogadva159ms24128 KiB
17Elfogadva690ms48196 KiB
18Elfogadva1.985s166960 KiB
19Elfogadva1.271s126536 KiB
20Elfogadva1.386s129764 KiB
subtask414/14
21Elfogadva3ms632 KiB
22Elfogadva3ms504 KiB
23Elfogadva3ms356 KiB
24Elfogadva3ms356 KiB
subtask520/20
25Elfogadva4ms876 KiB
26Elfogadva9ms1784 KiB
27Elfogadva8ms1272 KiB
28Elfogadva9ms1648 KiB
29Elfogadva9ms1636 KiB
30Elfogadva9ms1636 KiB
31Elfogadva8ms1124 KiB
32Elfogadva8ms1272 KiB
subtask650/50
33Elfogadva18ms3564 KiB
34Elfogadva246ms32228 KiB
35Elfogadva1.126s42788 KiB
36Elfogadva1.167s45376 KiB
37Elfogadva1.631s167140 KiB
38Elfogadva2.134s184548 KiB
39Elfogadva2.265s205284 KiB
40Elfogadva1.784s189028 KiB
41Elfogadva1.57s89700 KiB