Codeforces 372A- http://codeforces.com/problemset/problem/372/AПолучение неожиданный выход для теста проблемы
Я получаю неправильный выход для тестового case.Input:
Правильный ответ: 6. Я получу 2.
Мое решение:
#include<iostream>
using namespace std;
int n,size[500000],i,j,noofkangaroo,temp;
int main()
{
cin>>n;
for(i=0;i<n;i++)
cin>>size[i];
for(i=0;i<n;i++) //Bubble sort.
{
for(j=0;j<(n-i-1);j++)
{
if(size[j]>size[j+1])
{
temp=size[j+1];
size[j+1]=size[j];
size[j]=temp;
}
}
}
noofkangaroo=n;
for(i=0;i<n;i++)
{
for(j=1+1;j<n;j++)
{
if((size[j]>=(2*size[i]))&&(size[j]!=-1)) //size[j]=-1 implies that kangaroo can't keep a kangaroo but can be kept by one.
{
noofkangaroo--;
size[j]=-1;
break;
}
}
}
cout<<noofkangaroo;
}
Заявления после 'break;' не будут выполнены. Попробуйте поместить 'size [j] = - 1' перед оператором break. – asif
@ asif-I исправил это. Сделал несколько других исправлений. Теперь я получаю неправильный ответ для тестового примера 1. –
Это означает, что вы на самом деле не решили проблему. вам просто удалось сопоставить некоторые тестовые примеры. Попытайтесь подойти к проблеме по-разному. С учетом ограничений, я думаю, что сортировка пузыря вызовет ошибку «Превышение времени». Попробуйте использовать функцию STL 'sort'. – asif