#include <iostream> #include<vector> using namespace std; struct abc{ vector<int>start={0,0,0,0}; vector<int>koniec={0,0,0,0}; }; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int n,m,l,p,x; cin>>n>>m; vector<abc>tab(n+2); for(int i = 0;i<m;++i){ cin>>l>>p>>x; ++tab[l].start[x]; ++tab[p+1].koniec[x]; } int akt[4]={0,0,0,0}; int sum=0; for(int i = 1;i<=n;++i){ akt[1]+=tab[i].start[1]; akt[1]-=tab[i].koniec[1]; akt[2]+=tab[i].start[2]; akt[2]-=tab[i].koniec[2]; akt[3]+=tab[i].start[3]; akt[3]-=tab[i].koniec[3]; if(akt[1]>0 && akt[2]>0 && akt[3]==0)++sum; } cout<<sum; return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include <iostream> #include<vector> using namespace std; struct abc{ vector<int>start={0,0,0,0}; vector<int>koniec={0,0,0,0}; }; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int n,m,l,p,x; cin>>n>>m; vector<abc>tab(n+2); for(int i = 0;i<m;++i){ cin>>l>>p>>x; ++tab[l].start[x]; ++tab[p+1].koniec[x]; } int akt[4]={0,0,0,0}; int sum=0; for(int i = 1;i<=n;++i){ akt[1]+=tab[i].start[1]; akt[1]-=tab[i].koniec[1]; akt[2]+=tab[i].start[2]; akt[2]-=tab[i].koniec[2]; akt[3]+=tab[i].start[3]; akt[3]-=tab[i].koniec[3]; if(akt[1]>0 && akt[2]>0 && akt[3]==0)++sum; } cout<<sum; return 0; } |