小 U 有 n 支蠟燭,每支蠟燭都只有兩種狀態:亮着或熄滅。一開始,所有蠟燭被排成一列,它們都是亮着的。
小 U 將對它們進行 m 次操作,對於第 i 次操作:
• 小 U 會選擇三個正整數 op[i],l[i],r[i]。
• 若 op[i]=1,則他會把第 l[i],l[i]+1,l[i]+2,…,r[i] 支蠟燭點燃。
• 若 op[i]=2,則他會把第 l[i],l[i]+1,l[i]+2,…,r[i] 支蠟燭熄滅。
• 若 op[i]=3,則他會把第 l[i],l[i]+1,l[i]+2,…,r[i] 支蠟燭變為與原來相反的狀態。其中,把蠟燭變為與原來相反的狀態是指:若蠟燭是亮着的,則把它熄滅;否則,把它點燃。
• 若 op[i]=4,則他會把第 l[i],l[i]+1,l[i]+2,…,r[i] 支蠟燭抽出來,然後按照 r[i],r[i]-1,r[i]-2,…,l[i] 的順序重新放回去。
現在小 U 想考考你,你需要回答 m 次操作後有多少支蠟燭是亮着的。
不久後小 U 覺得這個問題太簡單了,於是他要求你回答他每次操作後有多少支蠟燭是亮着的。
你需要在標準輸入 (stdin) 讀入數據。
輸入的第一行包含兩個正整數 n,m,以空格分隔。
接下來 m 行,第 i 行表示第 i 次操作:
• 包含三個正整數 op[i],l[i],r[i],以空格分隔。
你需要在標準輸出 (stdout) 輸出答案。
輸出 m 行,第 i 行包含一個整數,表示第 i 次操作後有多少支蠟燭是亮着的。
5 3 2 1 2 3 2 4 1 2 3
3 2 3
【數據範圍】
對於所有測試數據,保證:
• n≤8000
• m≤8000
• 對於所有滿足 1≤i≤m 的整數 i,op[i]≤4, l[i]≤r[i]≤n。
| ID | User | Problem | Subject | Hit | Post Date |
沒有發現任何「解題報告」 |
|||||