https://www.acmicpc.net/problem/11659
11659번: 구간 합 구하기 4
첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j
www.acmicpc.net
구간 합은 모든 구간별의 누적 합을 구한 뒤, 지정 구간 이전의 누적 합을 빼면 나온다.
using System;
using System.IO;
using System.Text;
namespace B11659
{
class Program
{
static void Main()
{
StreamReader sr = new StreamReader(Console.OpenStandardInput());
StreamWriter sw = new StreamWriter(Console.OpenStandardOutput());
StringBuilder sb = new StringBuilder();
int[] nm = Array.ConvertAll(sr.ReadLine().Split(' '), int.Parse);
int n = nm[0];
int m = nm[1];
int[] arr = Array.ConvertAll(sr.ReadLine().Split(' '), int.Parse);
int[] sumArr = new int[n + 1];
sumArr[0] = 0;
//누적 합
for (int i = 1; i <= n; i++) sumArr[i] = sumArr[i - 1] + arr[i - 1];
for (int i = 0; i < m; i++)
{
int[] ij = Array.ConvertAll(sr.ReadLine().Split(' '), int.Parse);
int sum = sumArr[ij[1]] - sumArr[ij[0] - 1]; //구간 합
sb.Append(sum + "\n");
}
sw.Write(sb);
sr.Close();
sw.Flush();
sw.Close();
}
}
}


이제 실버 2 !!

'알고리즘 > 백준 BOJ' 카테고리의 다른 글
[ BOJ/C# ] 2579 계단 오르기 (0) | 2023.10.07 |
---|---|
[ BOJ/C# ] 9375 패션왕 신해빈 (0) | 2023.10.05 |
[ BOJ/C# ] 11651 좌표 정렬하기 2 (1) | 2023.10.04 |
[ BOJ/C# ] 17626 Four Squares (0) | 2023.10.03 |
[ BOJ/C# ] 9012 괄호 (0) | 2023.10.01 |