Problem Solving/BOJ

[백준 / BOJ] C++ 1292 쉽게 푸는 문제

nageune 2023. 2. 19. 17:54
728x90
반응형

1292번: 쉽게 푸는 문제

 

문제

 

https://www.acmicpc.net/problem/1292

 

1292번: 쉽게 푸는 문제

첫째 줄에 구간의 시작과 끝을 나타내는 정수 A, B(1 ≤ A ≤ B ≤ 1,000)가 주어진다. 즉, 수열에서 A번째 숫자부터 B번째 숫자까지 합을 구하면 된다.

www.acmicpc.net

 

 

풀이

1 2 2 3 3 3 4 4 4 4 5 와 같이 1을 1번 2를 2번 3을 3번인 수열에서 a번째부터 b번째 수의 합을 구하는 문제다.

 

cnt 변수를 하나 만들어주고 cnt 만큼 cnt를 배열에 추가하도록 했다. 배열 크기가 b를 넘지 않도록 하여 제한을 뒀다. 이후엔 합을 더하면 끝인 간단한 문제다.

 

 

코드

#include <bits/stdc++.h>
using namespace std;

int main() {
  int a, b, cnt = 1, sum = 0;
  cin >> a >> b;
  vector<int> v;
  for (int i = 0; v.size() < b; i++) {
    for (int j = 0; j < cnt; j++)
      v.push_back(cnt);
    cnt++;
  }
  for (int i = a - 1; i < b; i++)
    sum += v[i];
  cout << sum;
  return 0;
}
728x90
반응형