๋ฐฑ์ค 11659: ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ4
https://www.acmicpc.net/problem/11659
- ์์ ๊ฐ์ N๊ณผ ํฉ์ ๊ตฌํด์ผ ํ๋ ํ์ M์ ์ ๋ ฅํ๋ค
- N๊ฐ์ ์๋ฅผ ์ ๋ ฅํ๋ค
- ํฉ์ ๊ตฌํ ๋ฒ์๋ฅผ M๊ฐ ์ ๋ ฅํด์ค๋ค
- M๊ฐ์ ๋ฒ์์ ๋ฐ๋ผ i๋ฒ์งธ ์๋ถํฐ j๋ฒ์งธ ์๊น์ง์ ํฉ์ ์ถ๋ ฅํ๋ค
-> i์ ๋ํ ์ ํ๋ฒ์ ์กด์ฌํจ
-> i๋ j๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์์ผ ํ๊ณ , j๋ N๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์์ผ ํ๋ค (i <= j <= N)
์ฒ์์ ๋ฌธ์ ๋ฅผ i๋ฒ์งธ์ j๋ฒ์งธ ์๋ฅผ ํฉํ๋ ๊ฑด์ค ์๊ณ ์ข ํค๋งธ๋ค
์์ ์ ๋ ฅ๊ณผ ์์ ์ถ๋ ฅ์ ๋ณด๊ณ ์ ๋๋ก ์ดํดํ ์ ์์๋ค.
์๋ ์ด๋ฌ๋ฉด ์๋๋๊ฑด๊ฐ..? ์ดํด์ 50%๊ฐ ์์๋ฅผ ํตํด์ ์ด๋ค์ง๋ ๊ฒ ๊ฐ๋ค..
#include<stdio.h>
int main(void){
int a[100001];
int N, M;
int i = 0;
int j = 0;
int result = 0;
scanf("%d %d", &N, &M);
for (int s = 0; s < N; s++) {
scanf("%d", &a[i]);
}
for (int s = 0; s < M; s++) {
scanf("%d %d", &i, &j);
for (int s = i; s < j; i++) {
result = result + a[s];
}
printf("%d\n",result);
}
return 0;
}
// ์๊ฐ ์ด๊ณผ๋ก ์ธํด ์คํจํ๊ณ , ์ค์ ๋ก ์คํ๋ณด์๋ ์ด์ํ๊ฒ ๋๋ฒ์งธ ์ค๋ถํฐ๋ ํฉ์ ๊ตฌํ๋ ๋ฒ์ ์ ๋ ฅ์ด ์๋๋ค
-> ์์ ์ ์์ฒญ ๋ง์ด ํ๋๋ฐ ์ปดํ์ผ ์ค๋ฅ, ํ๋ ธ์ต๋๋ค ๋ฑ ๋ง์ด ๋ดค๋ค..
[์ฐธ๊ณ ] https://j2wooooo.tistory.com/52
#include<stdio.h>
int arr[100001];
int psum[100001];
int main(void)
{
int N, M, i, start, end, ans = 0;
scanf("%d %d", &N, &M);
for (i = 1; i <= N; i++)
{
scanf("%d", &arr[i]);
ans += arr[i];
psum[i] = ans;
}
for (i = 0; i < M; i++)
{
scanf("%d %d", &start, &end);
printf("%d\n", psum[end] - psum[start-1]);
}
return 0;
}
-> ๋ญ๊ฐ ๋ฌธ์ ์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์ด ์ฝ๋๋ ๋ด ๋น์ฃผ์ผ ์คํ๋์ค์์๋ ์คํ์ด ์๋๋ค... ์ด๋ป๊ฒ ํด๊ฒฐํด์ผํ ์ง ๋ชจ๋ฅด๊ฒ ์ด์ ๊ณ์ ์คํํ๋ค๊ฐ ์ผ๋จ์ ๋ณด๋ฅํ๋๋ก ํด์ผ๊ฒ ๋ค...