π [λ°±μ€μκ³ λ¦¬μ¦ νμ΄] Q.2003 μλ€μ ν© 2 νμ΄ λμ ν© λ°©μ - java
π λ¬Έμ
https://www.acmicpc.net/problem/2003
Nκ°μ μλ‘ λ μμ΄ A[1], A[2], β¦, A[N] μ΄ μλ€. μ΄ μμ΄μ iλ²μ§Έ μλΆν° jλ²μ§Έ μκΉμ§μ
ν© A[i] + A[i+1] + β¦ + A[j-1] + A[j]κ° Mμ΄ λλ κ²½μ°μ μλ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
π μ κ·Όλ²
Q.2003 μλ€μ ν© 2 λ¬Έμ μ λλ€.
iλ²μ§Έ μλΆν° jλ²μ§Έ μκΉμ§μ μ°μ λ ν©μ΄ Mμ΄ λλ κ²½μ°μ μλ₯Ό ꡬνλ λ¬Έμ μ λλ€.
μ¬κΈ°μ iλ²μ§Έ μλΆν° jλ²μ§Έ μκΉμ§ μ°μ λ ν©μ ꡬνλ λ¬Έμ μ΄λ―λ‘
λμ ν©μ μ΄μ©ν΄μ μ½κ² νμ΄κ° κ°λ₯ν©λλ€.
jλ²μ§ΈκΉμ§μ λμ ν©μ λͺ¨λ ꡬνκ³ λλ©΄
μ½κ² iλ²μ§Έ μ λΆν° jλ²μ§Έ μκΉμ§μ ν©μ ꡬν μ μμ΅λλ€.
iλ²μ§Έ->jλ²μ§Έ μ κΉμ§μ μ°μ λ ν© = jλ²μ§ΈκΉμ§μ λμ ν© - iλ²μ§ΈκΉμ§μ λμ ν© + iλ²μ§Έμ μ
μ΄λ―λ‘ μ΄μ€ forλ¬Έμ μ΄μ©ν΄
κ°κ°μ iλ²μ§Έ μλΆν° jλ²μ§Έ μ κΉμ§μ ν©μ΄ mμ΄ λλ κ²½μ°μ μλ₯Ό ꡬν μ μμ΅λλ€.
π» μ½λ
package problem.sum;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main_2003 {
static int n,m;
static int numbers[];
static int d[];
static int count = 0;
public static void main(String[] args) throws IOException {
input();
solve();
System.out.println(count);
}
public static void solve(){
d[0] = numbers[0];
for(int i=1; i<n; i++) {
d[i] = d[i-1]+numbers[i];
}
for(int i=0; i<n; i++){
for(int j=i; j<n; j++){
if(d[j]-d[i]+numbers[i] == m){
count++;
}
}
}
}
public static void input() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String temp[] = br.readLine().split( " ");
n = Integer.parseInt(temp[0]);
m = Integer.parseInt(temp[1]);
numbers = new int[n];
d = new int[n];
temp = br.readLine().split(" ");
for(int i=0; i<n; i++){
numbers[i] = Integer.parseInt(temp[i]);
}
}
}