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

Обсуждение задачи 1100. Таблица результатов

WA on test 4
Послано David Tvaltchrelidze 8 дек 2006 00:44
#include <iostream>
#include <algorithm>
using namespace std;
struct cc{long x,y;};
cc a[150000];
long i,n;
bool check(cc a, cc b){
if (a.y>b.y) return 1; else return 0;
};
main(void){
scanf("%d",&n);
for(i=0;i<n;i++) cin>>a[i].x>>a[i].y;
//scanf("%d%d",&a[i].x,&a[i].y);
sort(a,a+n,check);
for(i=0;i<n;i++) cout<<a[i].x<<" "<<a[i].y<<endl;
// printf("%d %d\n",a[i].x,a[i].y);
};
I have no idea why it gives me wrong answer. can you help me??
Re: WA on test 4
Послано Anton [SUrSU] 8 дек 2006 03:03
there must be a stable sort
Re: WA on test 4
Послано Madhav 11 июн 2008 19:25
I am also getting wrong answer on test case 4.pls help me
this is my code
#include<iostream>
#include<algorithm>
using namespace std;
class node{
        public:
                unsigned long long id;
                int prob;
                bool operator<(const node &n)const{
                           return (prob>n.prob);
                   }
};
int main()
{
        int n;node *arr;int i,j;
        scanf("%d",&n);
        arr=new node[n];
        for(i=0;i<n;i++){
                cin>>arr[i].id>>arr[i].prob;
        }
        sort(arr,arr+n);
        for(i=0;i<n;i++)
        {
                cout<<arr[i].id<<" "<<arr[i].prob<<endl;
        }
        return 0;
}
Re: WA on test 4
Послано Paweł Wanat 20 ноя 2008 17:21
I did what you had said Anton.
I got WA, when I used sort, but AC , when stable_sort , both from algorithm from c++. Why?

Edited by author 20.11.2008 17:22
Re: WA on test 4
Послано dAFTc0d3r [Yaroslavl SU] 25 мар 2010 03:47
I'd found a test like this. =)

For test:
36
1 1
2 2
3 2
4 3
5 3
6 3
7 4
8 4
9 4
10 4
11 5
12 5
13 5
14 5
15 5
16 6
17 6
18 6
19 6
20 6
21 6
22 7
23 7
24 7
25 7
26 7
27 7
28 7
29 8
30 8
31 8
32 8
33 8
34 8
35 8
36 8

my prog, that uses just sort() gives answer
36 8
35 8
...

and it answered correct when i used stable_sort() with same compare function:
29 8
30 8
...

After that i suppose to write new compare function, using indexes
struct state
{
  int id, m, ind; // << ind is a new param
};
bool compare( state a, state b )
{
    if ( a.m == b.m )
        return a.ind < b.ind;
    return a.m > b.m;
}

So watch at the results of my work:

sort()
WA#4

stable_sort()
AC 0.187s 1885 KB

sort() + ind
AC 0.218s 1897 KB

So we can say, stable_sort uses equal amount of additional memory, as like we use standard sort and indexes,
but at this dataset stable_sort works a little quicker!

stable_sort() + ind (i made it for lulz)
AC 0.203 2769 KB

Still quicker, than sort! =)

Counting sort
AC 0.125 1233 KB

;)

And after some zhest' optimizations...

AC 0.062 1225 KB %) %)
Re: WA on test 4
Послано Zhang Ye 10 окт 2011 18:41
Thank you very much!
Re: WA on test 4
Послано 1212494 30 сен 2013 21:50
Thank you very much, I have used a lot of sorts but they're useless. You can tell me about the idea of stable_sort because my teacher doesn't allow me to use the library C/C++. I used counting_sort and AC, but I want to install that algorithm myselft. Please help me
Re: WA on test 4
Послано double lee 15 окт 2013 08:19
Thank you very much!