106382024-04-07 15:10:22111Varázserdőcpp17Hibás válasz 0/100577ms99384 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){
			for(int i:s){
				if(w[i]==0){
					continue;
				}
				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
1Elfogadva3ms1824 KiB
2Elfogadva3ms2056 KiB
3Hibás válasz3ms2272 KiB
subtask20/7
4Hibás válasz3ms2460 KiB
5Hibás válasz3ms2856 KiB
6Hibás válasz7ms3852 KiB
7Hibás válasz7ms3828 KiB
8Hibás válasz270ms41792 KiB
9Hibás válasz270ms41964 KiB
10Hibás válasz264ms41964 KiB
11Hibás válasz257ms41860 KiB
12Hibás válasz259ms41860 KiB
13Hibás válasz252ms41856 KiB
subtask30/9
14Hibás válasz3ms3112 KiB
15Hibás válasz3ms3132 KiB
16Hibás válasz52ms12876 KiB
17Hibás válasz261ms37808 KiB
18Hibás válasz572ms82128 KiB
19Hibás válasz537ms82300 KiB
20Hibás válasz532ms82428 KiB
subtask40/14
21Hibás válasz3ms3256 KiB
22Hibás válasz3ms3388 KiB
23Hibás válasz3ms3492 KiB
24Hibás válasz2ms3492 KiB
subtask50/20
25Hibás válasz3ms3520 KiB
26Hibás válasz4ms3744 KiB
27Hibás válasz4ms3768 KiB
28Hibás válasz4ms3948 KiB
29Hibás válasz4ms3800 KiB
30Hibás válasz4ms3812 KiB
31Hibás válasz4ms3892 KiB
32Hibás válasz4ms3816 KiB
subtask60/50
33Hibás válasz7ms4160 KiB
34Hibás válasz52ms11452 KiB
35Elfogadva507ms54860 KiB
36Elfogadva513ms52620 KiB
37Hibás válasz556ms68272 KiB
38Hibás válasz537ms67472 KiB
39Hibás válasz577ms83160 KiB
40Hibás válasz565ms99384 KiB
41Hibás válasz529ms62400 KiB