168692025-05-14 19:02:34tKriszFőnökszámcpp17Futási hiba 0/100418ms7836 KiB
#include <iostream>

using namespace std;


struct point{
    int x;
    int y;
    bool operator<(const point& other) const {
        return (x < other.x)||(x==other.x && y > other.y);
    }
    bool dom(const point other){
        return x>other.x && y>other.y;
    }
};
struct elem{
    elem* nxt;
    point inf;
};
typedef elem* mutato;
mutato _list;
void init(mutato &a){
    a=new elem;
    a->nxt=NULL;
}
int len=0;
mutato find_x(mutato p, point inf){
    if (p->nxt){
        if(p->nxt->inf.dom(inf)) return NULL;
        if(inf<p->nxt->inf) return find_x(p->nxt, inf);
        return p;
    }
    return p;
}
mutato push(mutato &p, point inf){
    mutato q=new elem;
    q->inf = inf;
    q->nxt=p->nxt;
    p->nxt=q;
    return q;
}
mutato delnxt(mutato &p){
    mutato q=p->nxt;
    p->nxt=q->nxt;
    delete q;
}
bool delif(mutato &p){
    if(p&&p->nxt)
        if(p->inf.dom(p->nxt->inf)) {delnxt(p);return 1;};
    return 0;
}

int main()
{
    int n;
    cin>>n;
    point a;
    init(_list);
    cin>>_list->inf.x>>_list->inf.y;
    len++;
    for(int i=2;i<=n;i++){
        mutato m=_list;
        mutato q;
//        while(m!=NULL){
//            cout<<'('<<m->inf.x<<", "<<m->inf.y<<") ";
//            m=m->nxt;
//        }
//        cout<<endl;
        cin>>a.x>>a.y;
        if(_list->inf < a){
            q=new elem;
            q->inf=a;
            q->nxt=_list;
            _list=q;
            len++;
        }
        else{
            if(q=find_x(_list, a)){
                push(q, a);
                len++;
            }
        }
        while(delif(q)){len--;};
        cout<<len<<endl;
    }
    mutato q=_list;
//    while(q!=NULL){
//        cout<<'('<<q->inf.x<<", "<<q->inf.y<<") ";
//        q=q->nxt;
//    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Futási hiba1ms508 KiB
2Futási hiba1ms316 KiB
subtask20/5
3Futási hiba1ms508 KiB
4Futási hiba1ms316 KiB
5Futási hiba1ms316 KiB
6Futási hiba1ms316 KiB
subtask30/10
7Hibás válasz1ms316 KiB
8Hibás válasz1ms316 KiB
9Hibás válasz2ms508 KiB
10Futási hiba2ms564 KiB
11Futási hiba1ms332 KiB
12Futási hiba1ms316 KiB
13Futási hiba1ms316 KiB
14Futási hiba1ms316 KiB
subtask40/10
15Futási hiba1ms512 KiB
16Futási hiba1ms316 KiB
17Hibás válasz3ms500 KiB
18Futási hiba1ms316 KiB
19Futási hiba1ms316 KiB
20Futási hiba1ms316 KiB
21Futási hiba1ms564 KiB
22Hibás válasz192ms3896 KiB
subtask50/25
23Futási hiba1ms316 KiB
24Futási hiba1ms316 KiB
25Futási hiba1ms316 KiB
26Futási hiba1ms316 KiB
27Futási hiba1ms316 KiB
28Futási hiba1ms508 KiB
29Futási hiba1ms316 KiB
30Futási hiba1ms316 KiB
subtask60/50
31Futási hiba1ms316 KiB
32Futási hiba1ms316 KiB
33Futási hiba1ms508 KiB
34Futási hiba1ms316 KiB
35Futási hiba1ms316 KiB
36Futási hiba1ms316 KiB
37Hibás válasz1ms316 KiB
38Hibás válasz1ms316 KiB
39Hibás válasz2ms508 KiB
40Futási hiba2ms564 KiB
41Futási hiba1ms332 KiB
42Futási hiba1ms316 KiB
43Futási hiba1ms316 KiB
44Futási hiba1ms316 KiB
45Futási hiba1ms512 KiB
46Futási hiba1ms316 KiB
47Hibás válasz3ms500 KiB
48Futási hiba1ms316 KiB
49Futási hiba1ms316 KiB
50Futási hiba1ms316 KiB
51Futási hiba1ms564 KiB
52Hibás válasz192ms3896 KiB
53Futási hiba1ms316 KiB
54Futási hiba1ms316 KiB
55Futási hiba1ms316 KiB
56Futási hiba1ms316 KiB
57Futási hiba1ms316 KiB
58Futási hiba1ms508 KiB
59Futási hiba1ms316 KiB
60Futási hiba1ms316 KiB
61Futási hiba1ms508 KiB
62Futási hiba1ms508 KiB
63Futási hiba1ms316 KiB
64Hibás válasz96ms2100 KiB
65Futási hiba1ms316 KiB
66Futási hiba1ms316 KiB
67Futási hiba1ms500 KiB
68Futási hiba1ms332 KiB
69Futási hiba1ms508 KiB
70Időlimit túllépés418ms7836 KiB