안녕하세요. 오늘은 증가하는 수열을 찾을 거예요.
https://www.acmicpc.net/problem/31395
증가하는 구간끼리 묶어서 그 구간의 크기를 가지고 문제를 풀어주면 됩니다.
#include <iostream>
#include <vector>
#define ll long long
using namespace std;
int main(void)
{
ios_base::sync_with_stdio(false); cin.tie(NULL);
ll N, i, before, now, cnt = 1;
vector <ll> v;
cin >> N >> before;
for (i = 2; i <= N; i++)
{
cin >> now;
if (before < now) cnt++;
else
{
v.push_back(cnt);
cnt = 1;
}
before = now;
}
v.push_back(cnt);
ll sum = 0;
for (ll x : v)
sum += x * (x + 1) / 2;
cout << sum;
}
안녕히계세요~