白駿16162歌姫と三段高音解題(JAVA)
質問リンク
I'm in my dream~eam~eam ♬
三段高音に感動した嘉熙は高音京津大会を見学することにした.「音義界の名前を数字で表現しましょう.」「1オクターブ」は1で表現され、1音上がるごとにその音を表現する回数が1増えると考えられます.音Aを起点とし、D音を高音とする場合、第1項をA、公差をDとする等差数列とし、この等差数列の項数をXとする場合、この等差数列をX段高音と呼ぶ.以下はA=1,D=2の六段高音である.
このような試合は問題があり、1人以上の参加者が同時に高音を歌うため、正常に審査することができない.したがって,数桁表現の参加者の音が順次与えられると,できるだけ中,音Aから始め,D音のX段高音で最大のXを求める.彼らを助けるプログラムを作成しましょう.
第1行目では、参加者の負数を表す整数N(1≦N≦2×104)、高音の第1項と公差を表す整数A、D(1≦A、D≦107)がスペースで区切られている.
2行目では,参加者の音を表すN個の整数を順に空白に分割する.この値は107を超えない正の整数です.
Aからは、D音で上がるX段高音で、できるだけ最大のXを出力します.
参加者のトーンを配置し、これらのトーンの中でtargetValueと同じトーンかどうかを探します.可能な場合はmaxStackを1ずつ増やし、targetValueで次のステップに変更します.
質問する
I'm in my dream~eam~eam ♬
三段高音に感動した嘉熙は高音京津大会を見学することにした.「音義界の名前を数字で表現しましょう.」「1オクターブ」は1で表現され、1音上がるごとにその音を表現する回数が1増えると考えられます.音Aを起点とし、D音を高音とする場合、第1項をA、公差をDとする等差数列とし、この等差数列の項数をXとする場合、この等差数列をX段高音と呼ぶ.以下はA=1,D=2の六段高音である.
このような試合は問題があり、1人以上の参加者が同時に高音を歌うため、正常に審査することができない.したがって,数桁表現の参加者の音が順次与えられると,できるだけ中,音Aから始め,D音のX段高音で最大のXを求める.彼らを助けるプログラムを作成しましょう.
入力
第1行目では、参加者の負数を表す整数N(1≦N≦2×104)、高音の第1項と公差を表す整数A、D(1≦A、D≦107)がスペースで区切られている.
2行目では,参加者の音を表すN個の整数を順に空白に分割する.この値は107を超えない正の整数です.
しゅつりょく
Aからは、D音で上がるX段高音で、できるだけ最大のXを出力します.
に答える
参加者のトーンを配置し、これらのトーンの中でtargetValueと同じトーンかどうかを探します.可能な場合はmaxStackを1ずつ増やし、targetValueで次のステップに変更します.
ソースコード
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder sb = new StringBuilder();
StringTokenizer st = new StringTokenizer(br.readLine());
final int NUMBER_OF_VALUE = Integer.parseInt(st.nextToken());
int targetValue = Integer.parseInt(st.nextToken());
final int VALUE_GAP = Integer.parseInt(st.nextToken());
int value[] = new int[NUMBER_OF_VALUE];
st = new StringTokenizer(br.readLine());
for (int i = 0; i < NUMBER_OF_VALUE; i++) {
value[i] = Integer.parseInt(st.nextToken());
}
int maxStack = 0;
for (int i = 0; i < NUMBER_OF_VALUE; i++) {
if (value[i] != targetValue) {
continue;
}
maxStack++;
targetValue += VALUE_GAP;
}
sb.append(maxStack);
sb.append("\n");
bw.write(sb.toString());
bw.flush();
br.close();
bw.close();
}
}
Reference
この問題について(白駿16162歌姫と三段高音解題(JAVA)), 我々は、より多くの情報をここで見つけました https://velog.io/@phjppo0918/백준-16162-가희와-3단-고음-문제풀이-JAVAテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol