10637 2024. 04. 07 15:08:11 111 Varázserdő cpp17 Hibás válasz 0/100 762ms 99576 KiB
#include<bits/stdc++.h>
using namespace std;

#define int long long

#define MOD 1000000007

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int N,M;
	cin>>N>>M;
	vector<tuple<int,int,int>>e(M);
	for(int i=0;i<M;i++){
		int a,b,c;
		cin>>a>>b>>c;
		e[i]={c,a,b};
	}
	sort(e.begin(),e.end());
	int ans=0;
	vector<int>v(N+1),w(N+1),s;
	for(int i=0;i<M;i++){
		auto[c,a,b]=e[i];
		s.push_back(a);
		s.push_back(b);
		w[a]+=v[b]+1;
		w[a]%=MOD;
		w[b]+=v[a]+1;
		w[b]%=MOD;
		int cc=i+1==M?c+2:get<0>(e[i+1]);
		if(c!=cc){
			sort(s.begin(),s.end());
			s.erase(unique(s.begin(),s.end()),s.end());
			for(int i:s){
				if(c+1==cc){
					v[i]=w[i];
				}
				else{
					v[i]=0;
				}
				ans+=w[i];
				ans%=MOD;
				w[i]=0;
			}
			s.clear();
		}
	}
	ans+=MOD-M;
	ans%=MOD;
	cout<<ans<<'\n';
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 2100 KiB
2 Elfogadva 3ms 2140 KiB
3 Hibás válasz 2ms 2228 KiB
subtask2 0/7
4 Hibás válasz 3ms 2428 KiB
5 Hibás válasz 3ms 2448 KiB
6 Hibás válasz 7ms 3348 KiB
7 Hibás válasz 7ms 3428 KiB
8 Hibás válasz 294ms 41708 KiB
9 Hibás válasz 301ms 42008 KiB
10 Hibás válasz 289ms 41992 KiB
11 Hibás válasz 282ms 42236 KiB
12 Hibás válasz 277ms 42452 KiB
13 Hibás válasz 277ms 42380 KiB
subtask3 0/9
14 Hibás válasz 3ms 3624 KiB
15 Hibás válasz 3ms 3760 KiB
16 Hibás válasz 68ms 13616 KiB
17 Hibás válasz 349ms 38700 KiB
18 Hibás válasz 762ms 82844 KiB
19 Hibás válasz 675ms 82840 KiB
20 Hibás válasz 662ms 82836 KiB
subtask4 0/14
21 Hibás válasz 3ms 3704 KiB
22 Hibás válasz 3ms 3704 KiB
23 Hibás válasz 3ms 3704 KiB
24 Hibás válasz 3ms 3708 KiB
subtask5 0/20
25 Hibás válasz 3ms 3848 KiB
26 Hibás válasz 4ms 3976 KiB
27 Hibás válasz 4ms 3996 KiB
28 Hibás válasz 4ms 3972 KiB
29 Hibás válasz 4ms 3976 KiB
30 Hibás válasz 4ms 3976 KiB
31 Hibás válasz 4ms 3988 KiB
32 Hibás válasz 4ms 4244 KiB
subtask6 0/50
33 Hibás válasz 8ms 4716 KiB
34 Hibás válasz 67ms 11892 KiB
35 Elfogadva 648ms 55304 KiB
36 Elfogadva 660ms 53316 KiB
37 Hibás válasz 674ms 68848 KiB
38 Hibás válasz 660ms 68064 KiB
39 Hibás válasz 654ms 83344 KiB
40 Hibás válasz 683ms 99576 KiB
41 Hibás válasz 703ms 62576 KiB