106372024-04-07 15:08:11111Varázserdőcpp17Hibás válasz 0/100762ms99576 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ÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms2100 KiB
2Elfogadva3ms2140 KiB
3Hibás válasz2ms2228 KiB
subtask20/7
4Hibás válasz3ms2428 KiB
5Hibás válasz3ms2448 KiB
6Hibás válasz7ms3348 KiB
7Hibás válasz7ms3428 KiB
8Hibás válasz294ms41708 KiB
9Hibás válasz301ms42008 KiB
10Hibás válasz289ms41992 KiB
11Hibás válasz282ms42236 KiB
12Hibás válasz277ms42452 KiB
13Hibás válasz277ms42380 KiB
subtask30/9
14Hibás válasz3ms3624 KiB
15Hibás válasz3ms3760 KiB
16Hibás válasz68ms13616 KiB
17Hibás válasz349ms38700 KiB
18Hibás válasz762ms82844 KiB
19Hibás válasz675ms82840 KiB
20Hibás válasz662ms82836 KiB
subtask40/14
21Hibás válasz3ms3704 KiB
22Hibás válasz3ms3704 KiB
23Hibás válasz3ms3704 KiB
24Hibás válasz3ms3708 KiB
subtask50/20
25Hibás válasz3ms3848 KiB
26Hibás válasz4ms3976 KiB
27Hibás válasz4ms3996 KiB
28Hibás válasz4ms3972 KiB
29Hibás válasz4ms3976 KiB
30Hibás válasz4ms3976 KiB
31Hibás válasz4ms3988 KiB
32Hibás válasz4ms4244 KiB
subtask60/50
33Hibás válasz8ms4716 KiB
34Hibás válasz67ms11892 KiB
35Elfogadva648ms55304 KiB
36Elfogadva660ms53316 KiB
37Hibás válasz674ms68848 KiB
38Hibás válasz660ms68064 KiB
39Hibás válasz654ms83344 KiB
40Hibás válasz683ms99576 KiB
41Hibás válasz703ms62576 KiB