문제링크 : https://www.acmicpc.net/problem/10431
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
const int MAX = INT_MAX;
int P, T, arr[21];
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> P;
while(P--)
{
cin >> T;
int result = 0;
for(int i=0; i<20; i++) cin >> arr[i];
for(int i=0; i<19; i++)
{
for(int j=i+1; j<20; j++)
{
if(arr[i] > arr[j]) result+=1; //현재 값보다 작은 값 카운팅
}
}
cout << T << " " << result << "\n";
}
return 0;
}
간단하게 현재 값을 기준으로 현재 값보다 작은 값들의 경우에 대해서 카운팅을 해주면 된다.
카운팅된 값이 뒤로 물러선 갯수가 된다.
모든 범위에 대해서 시행을 해주면 총 물러선 갯수를 알 수 있다.
'백준 > 실버' 카테고리의 다른 글
[백준 16212번] 정열적인 정렬 (C++) (0) | 2024.04.27 |
---|---|
[백준 17271번] 리그 오브 레전설 (Small) (C++) (0) | 2024.04.26 |
[백준 1758번] 알바생 강호 (C++) (0) | 2024.04.09 |
[백준 11508번] 2+1 세일 (C++) (0) | 2024.04.08 |
[백준 1448번] 삼각형 만들기 (C++) (0) | 2024.04.07 |