ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1161. Stripies

why WA on #5
Послано chs040701 25 авг 2008 12:28
#include <cstdlib>
#include <iostream>
#include <cmath>

using namespace std;

int Compare(const void *elem1, const void *elem2)
{
return *((int *)(elem1)) - *((int *)(elem2));
}

int main(int argc, char *argv[])
{long n,i,j;
 double d[10010];
 cin>>n;
 for(i=0;i<n;i++)cin>>d[i];
 qsort(d,n,sizeof(double),Compare);
 for(i--;i>0;i--)
 {d[i-1]=(2*sqrt(d[i-1]*d[i]));
 qsort(d,i-1,sizeof(double),Compare);
 /*for(j=0;j<n;j++)cout<<d[j]<<" ";*/}
 printf("%.2lf",d[0]);
    system("PAUSE");
    return EXIT_SUCCESS;
}

here's my source
can you give any hints?
Re: why WA on #5
Послано pasin30055 8 окт 2008 22:18
I got WA on #5 too
here is my code
#include<stdio.h>
#include<math.h>
int a[105];
int main()
{
    int n,i,b;
    double ans;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
     scanf("%d",&b);
     a[b]++;
    }
    ans=0;
    for(i=100;i>=1;i--)
    {
    if(a[i]!=0)
    {
     if(ans==0)
     ans=(double)i;
     else
     ans=2*sqrt((double)i*ans);
     a[i]--;
     i++;
    }
    else;
    }
    printf("%.2lf",ans);
    scanf(" ");
    return 0;
}
please help me find my mistake
Re: why WA on #5
Послано kal1sha 10 май 2009 01:02
WA
int Compare(const void *elem1, const void *elem2)
{
return *((int *)(elem1)) - *((int *)(elem2));
}

AC
int Compare(const void *elem1, const void *elem2)
{
return *((double*)(elem1)) - *((double*)(elem2));
}