結果
| 問題 |
No.151 セグメントフィッシング
|
| コンテスト | |
| ユーザー |
threepipes_s
|
| 提出日時 | 2015-02-13 00:12:39 |
| 言語 | Java (openjdk 23) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 2,468 bytes |
| コンパイル時間 | 2,310 ms |
| コンパイル使用メモリ | 78,376 KB |
| 実行使用メモリ | 61,364 KB |
| 最終ジャッジ日時 | 2024-06-23 19:28:36 |
| 合計ジャッジ時間 | 9,233 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 5 |
| other | WA * 19 |
ソースコード
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException{
ContestScanner in = new ContestScanner();
int n = in.nextInt();
int q = in.nextInt();
int n2 = n<<1;
int[] a = new int[n2];
for(int i=0; i<q; i++){
// int t = i+1;
char x = in.nextToken().charAt(0);
int y = in.nextInt();
int z = in.nextInt();
if(x == 'R'){
a[(y+i)%n2] += z;
}else if(x == 'L'){
a[(y+i+n)%n2] += z;
}else{
int start = (y-i)%n;
int end = (z-i)%n;
if(start < n) start += n;
if(end < n) end += n;
int count = 0;
if(start < end){
for(int j=start; j<=end; j++){
count += a[j] + a[n2-j-1];
}
}else{
for(int j=start; j<n; j++){
count += a[j] + a[n2-j-1];
}
for(int j=0; j<=end; j++){
count += a[j] + a[n2-j-1];
}
}
System.out.println(count);
}
}
}
}
class MyComp implements Comparator<int[]>{
public int compare(int[] a, int[] b) {
return a[0] - b[0];
}
}
class Reverse implements Comparator<Integer>{
public int compare(Integer arg0, Integer arg1) {
return arg1 - arg0;
}
}
class Node{
int id;
List<Node> edge = new ArrayList<Node>();
public Node(int id){
this.id = id;
}
public void createEdge(Node node){
edge.add(node);
}
}
class ContestScanner{
private BufferedReader reader;
private String[] line;
private int idx;
public ContestScanner() throws FileNotFoundException{
reader = new BufferedReader(new InputStreamReader(System.in));
}
public ContestScanner(String filename) throws FileNotFoundException{
reader = new BufferedReader(new InputStreamReader(new FileInputStream(filename)));
}
public String nextToken() throws IOException{
if(line == null || line.length <= idx){
line = reader.readLine().trim().split(" ");
idx = 0;
}
return line[idx++];
}
public long nextLong() throws IOException, NumberFormatException{
return Long.parseLong(nextToken());
}
public int nextInt() throws NumberFormatException, IOException{
return (int)nextLong();
}
public double nextDouble() throws NumberFormatException, IOException{
return Double.parseDouble(nextToken());
}
}
threepipes_s