//競技プログラミング駆け出し。☆2下位が限界、背伸び。 //TLE解 #include #include #define int long long using namespace std; int n, q; char x; int y, z; int data[2][20000]; //同じ向き,位置の魚はまとめて移動 signed main() { int i, j, k; cin >> n >> q; for( i = 0; i < q; i++ ) { cin >> x >> y >> z; if ( x == 'R' ) { data[1][y] += z; } if ( x == 'L' ) { data[0][y] += z; } if ( x == 'C' ) { int cnt = 0; for( j = 0; j < 2; j++ ) for( k = y; k < z; k++ ) cnt += data[j][k]; cout << cnt << endl; } for( j = 0; j < 2; j++ ) { for( k = 0; k < n; k++ ) { int tmp = data[j][k]; if ( j == 0 && k == 0 ) { data[1][k] += tmp; data[j][k] = 0; } else if ( j == 1 && k == n-1 ) { data[0][k] += tmp; data[j][k] = 0; } else { if ( j == 0 ) { data[j][k-1] += tmp; data[j][k] = 0; } else { data[j][k+1] += tmp; data[j][k] = 0; } } //cout << data[j][k] << " "; } //cout << endl; } //cout << endl; } return 0; }