guys my submission for this question is giving TLE for first two cases but correct for the other two . Can I know why is it happening so ?
please check what is wrong in the given code. online judge gave wrong answer for this
#include
#include
using namespace std;
int main()
{
int t,n,i,j;
cin>>t;
while(t–)
{
cin>>n;
int a[n];
for(i=0;i<n;i++)
cin>>a[i];
sort(a,a+n);
cout<<a[0]+a[1];
}
return 0;
}
can u suggest me few test cases also
The problem statement says, find smallest a[i]+a[j] such that 1 <= i < j <= n. If we sort the array, won’t that disturb the order? If this algo is giving AC, then the problem statement shold be changed to 1 <= i,j <= N
Yeah it is too easy for me as i have written it for 13pts(and i have achieved it) its just the sum of those 2 input value here is my code…
program SMPAIR;
var
T,num,sum:longint;
N:smallint;
begin
(* Solution to SMPAIR *)
readln(T);
while T <> 0 do
begin
readln(N);
sum := 0;
while N <> 0 do
begin
read(num);
sum := sum + num;
dec(N);
end;
writeln(sum);
dec(T);
end;
end.
Only using printf and cout made a difference , it failed last subtask with cout but passed with printf , same code Also, I wasted a hour finding the bug which was just the absence of newline character
i m not getting this constraint concept… plzz explain one constriant in brief so thati can code
#include
using namespace std;
int main()
{long long t,n,i,min;
cin>>t;
while(t–)
{ cin>>n;
long long A[n];
for(i=0;i<n;i++)
{cin>>A[i];
}
min=A[0]+A[1];
for(i=0;i<n;i++)
{ if((A[i]+A[i+1])<=min)
min=A[i]+A[i+1];
}
cout<<min<<endl;
}
return 0;
}
wats d problem in my code???
removing memset should work! You don’t need to initialize the array everytime.
what is wrong in my code…its showing wrong answer
#include
using namespace std;
int main()
{
int t,n,y,largest,smallest,secondSmallest;
cin>>t;
while(t–)
{
cin>>n;
int a[n];
y=0;
while(y<n)
{
cin>>a[y];
y++;
}
largest=a[0];
smallest=a[0];
y=1;
while(y<=n)
{
if(a[y]>largest) largest=a[y];
if(a[y]<smallest) smallest=a[y];
y++;
}
if(smallest!=largest)
{
secondSmallest=largest;
y=0;
while(y<=n)
{
if(a[y]<secondSmallest && a[y]!=smallest) secondSmallest=a[y];
y++;
}
}
cout<<smallest+secondSmallest<<endl;
}
}
hey i get the result as wrong answer in codechef for my code but while executing the code in my compiler it runs good and gives correct answer
using namespace std;
int main()
{int t,n,a[10],sum,j,i,temp=1000;
cin>>t;
while(t–)
{cin>>n;
for(i=0;i<n;i++)
{cin>>a[i];
}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
sum=a[i]+a[j];
if(sum<temp)
temp=sum;
}
}
cout<<temp<<endl;
}
return 0;
}
whats wrong i it?
#include
using namespace std;
int main()
{
long long t,n,sum=0,i,min=1000000;
long long a[1000];
cin>>t;
int j=0;
while(j<t)
{
cin>>n;
for(i=0;i<n;i++)
{
cin>>a[i];
}
for(i=0;i<n-1;i++)
{
sum=a[i]+a[i+1];
if(sum<min)min=sum;
}
cout<<min<<endl;
j++;
}
return 0;
}
why i am getting WA??Can anyone help??