https://www.acmicpc.net/problem/11659
구간 합은 모든 구간별의 누적 합을 구한 뒤, 지정 구간 이전의 누적 합을 빼면 나온다.
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 (0) | 2023.10.04 |
[ BOJ/C# ] 17626 Four Squares (0) | 2023.10.03 |
[ BOJ/C# ] 9012 괄호 (0) | 2023.10.01 |