Thứ Ba, 3 tháng 5, 2022

COVER PASCAL

type line=record
    x,y,pos:longint;
end;
var n, a,i, b,sl:longint;
        d:array[0..100001] of line;
        res:array[0..10000000] of longint;

procedure nhap;
begin
    readln(n,a,b);
    for i:=1 to n do
    begin
        readln(d[i].x,d[i].y);
        d[i].pos:= i;
    end;
end;

function ss(t1,t2:line):boolean;
begin
    if t1.y<t2.y then exit(true);
    if t1.y>t2.y then exit(false);
    if t1.x>t2.x then exit(true);
    if(t1.x<t2.x) then exit(false);
    exit(false);
end;

procedure xuat;
begin
    writeln(sl);
    for i:=1 to sl do writeln(res[i]);
end;

procedure quicksort(l,r:longint);
var i,j:longint;
    p,t:line;
begin
    i:=l;j:=r;
    p:=d[(l+r) div 2];
    repeat
        while ss(d[i],p)=true do inc(i);
        while ss(p,d[j])=true do dec(j);
        if i<=j then
        begin
            t:=d[i];d[i]:=d[j];d[j]:=t;
            inc(i);dec(j);
        end;
     until i>j;
     if l<j then quicksort(l,j);
     if i<r then quicksort(i,r);
end;




procedure giai;
var v,k,j:longint;
        ok,co:boolean;
begin
        quicksort(1,n);
        v:=a;
        k:=1;
        ok=false;
        while (v<b) or (ok=false) do
        begin
                ok:=true;
                co:=false;
                for j:=n downto k do
                begin
                        if d[j].x<=v then
                        begin
                                inc(sl);
                                res[sl]:=d[j].pos;
                                v:=d[j].y;
                                k:=j+1;
                                co:=true;
                                break;
                        end;
                end;
                if co=false then
                begin
                        write('-1');
                        exit;
                end;
        end;
        xuat;
end;


begin
        assign(input,'cover.inp');reset(input);
        assign(output,'cover.out');rewrite(output);
        nhap;
        giai;
end.

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.