1 solutions
-
1
#include<bits/stdc++.h> using namespace std; int l,n,lights[100001],ans; int main(){ scanf("%d%d",&l,&n); fill(lights,lights+1+l,1); for(int i = 1;i<=n;i++){ int a,b,c; scanf("%d%d%d",&a,&b,&c); switch(a){ case 1: for(int j = b;j<=c;j++)lights[j] = 1; break; case 2: for(int j = b;j<=c;j++) if(lights[j] != 1){ while(lights[j] != 2 && lights[j] != 4){ lights[j]++; if(lights[j] == 6)lights[j]-=5; } } break; case 3: for(int j = b;j<=c;j++) while(lights[j] != 3 && lights[j] != 5){ lights[j]++; if(lights[j] == 6)lights[j]-=5; } break; case 4: for(int j = b;j<=c;j++) for(int k = b;k<=j;k++){ lights[j]++; if(lights[j] == 6)lights[j]-=5; } break; } } for(int i = 0;i<=l;i++) if(lights[i] == 1 || lights[i] == 6)ans++; printf("%d",ans); return 0; }
Information
- ID
- 789
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 9
- Tags
- (None)
- # Submissions
- 21
- Accepted
- 3
- Uploaded By