# |
Author |
Problem |
Lang |
Verdict |
Time |
Memory |
Sent |
Judged |
|
251537282 |
Contestant:
bshah |
1948B
- 8
|
C++17 (GCC 7-32)
|
Wrong answer on test 2
|
15 ms
|
144 KB
|
2024-03-15 19:32:22 |
2024-03-15 19:32:22 |
|
#include <bits/stdc++.h>
#define ll long long
using namespace std;
bool isPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i <= sqrt(num); ++i) {
if (num % i == 0) {
return false;
}
}
return true;
}
ll factorial(int n) {
if (n == 0)
return 1;
else
return (n * factorial(n - 1));
}
ll ncr(ll n, ll r) {
ll value;
value = factorial(n) / (factorial(r) * factorial(n - r));
return value;
}
int main()
{
int t;
cin >> t;
while (t--)
{
int n;
cin>>n;
vector <int> w;
for(int i=0;i<n;i++)
{
int h;
cin>>h;
w.push_back(h);
}
if(is_sorted(w.begin(), w.end()))
{
cout<<"YES";
}
else
{
vector <int> p;
vector <int> q;
for (int i = 0; i < n-1; i++)
{
if (w[i] >= 10)
{
int h = w[i] / 10;
int g = w[i] % 10;
q.push_back(h);
q.push_back(g);
}
else
{
q.push_back(w[i]);
}
}
q.push_back(w[n-1]);
if(is_sorted(q.begin(), q.end()))
{
cout<<"YES";
//s=1;
}
else
{
int g=0;
for(int i=0;i<n-1;i++)
{
if(w[i]>w[i+1] && w[i]/10==0)
{
cout<<"NO";
g=1;
break;
}
else if(w[i]>w[i+1]&& w[i]>=10)
{
int h = w[i] / 10;
int g = w[i] % 10;
p.push_back(h);
p.push_back(g);
}
else
{
p.push_back(w[i]);
}
}
p.push_back(w[n-1]);
if(g!=1)
{
if(is_sorted(p.begin(), p.end()))
{
cout<<"YES";
}
else
{
cout<<"NO";
}
}
}
}
cout<<endl;
}
return 0;
}
Click to see test details