문제
https://codeforces.com/problemset/problem/1420/A
걸린 시간
00 : 43 : 00 실패
풀이
C++
#include <bits/stdc++.h>
#define INF 1e9
typedef long long ll;
using namespace std;
int n;
vector<int> a;
void solve(){
for(int i = 0; i < n-1; i++){
if(a[i] <= a[i+1]){
cout << "YES\n";
return;
}
}
cout << "NO\n";
}
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
int tc;
cin >> tc;
while(tc--){
cin >> n;
a.resize(n);
for(auto& i : a) cin >> i;
solve();
}
return 0;
}
두개의 이웃한 큐브들을 교환하는 횟수가 n(n-1)/2-1 를 넘기지 말아야 한다는 설명에서 버블정렬을 떠올릴 수 있어야 한다.
자료가 역순으로 정렬되어 있는 버블정렬의 최악의 경우에서는 교환횟수가 n(n-1)/2-1 를 초과하게 된다.
'Codeforces' 카테고리의 다른 글
Codeforces #1490A Dense Array (0) | 2021.02.28 |
---|---|
Codeforces #1492A Three swimmers (0) | 2021.02.28 |
Codeforces #1419B Stairs (0) | 2020.09.24 |
Codeforces 1419D2 Saga's Birthday (hard version) (0) | 2020.09.21 |
Codeforces 1419D1 Sage's Birthday (easy version) (0) | 2020.09.21 |
댓글