Can someone tell me why is this wrong…??
#include<bits/stdc++.h>
using namespace std;
#define ll long long int
ll toNumber(vector array, int N)
{
ll num = 0;
int i = N;
int j = 0;
while(i–)
{
num+=(array[i]*pow(10,j++));
}
return num;
}
int main()
{
int t = 0;
cin>>t;
while(t--)
{
int N = 0;
cin>>N;
vector<ll> array(N);
bool flag = true;
for(int i = 0; i < N; i++)
cin>>array[i];
for(int i = N - 1; i > 0; i--)
{
if(array[i] > array[i-1])
{
flag = false;
ll temp = array[i];
array[i] = array[i-1];
array[i-1] = temp;
break;
}
}
if(flag)
cout<<-1<<endl;
else
cout<<toNumber(array,N)<<endl;
}
}
created
last reply
- 3
replies
- 805
views
- 4
users