189992025-11-14 19:42:40xxxHáromszögekcpp17Accepted 100/100138ms8768 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long


int X2, Y2, X1, Y1;

bool comp1(array<int, 3> cr1, array<int, 3> cr2) {
    int x1 = (cr1[0])-(X2);
    int x2 = (cr2[0])-(X2);
    int y1 = (cr1[1])-(Y2);
    int y2 = (cr2[1])-(Y2);

    if(x1*y2 < y1*x2) {
        return 0;
    } else if (x1*y2 == y1*x2) {
        return (x1<x2);
    }
    else{
        return 1;
    }
}

bool comp2(array<int, 3> cr1, array<int, 3> cr2) {
    int x1 = (cr1[0])-(X1);
    int x2 = (cr2[0])-(X1);
    int y1 = (cr1[1])-(Y1);
    int y2 = (cr2[1])-(Y1);

    if(x1*y2 > y1*x2) {
        return 0;
    } else if (x1*y2 == y1*x2) {
        return (x1>x2);
    } else {
        return 1;
    }
}

signed main() {
    ios_base::sync_with_stdio();
    cin.tie(0);
    cout.tie(0);

    int n;
    cin >> n;
    vector<array<int, 3> > crd(n-2);
    vector<array<int, 3> > crd2;
    vector<array<int, 3> > pr(n-2);


    cin >> X1 >> Y1 >> X2 >> Y2;

    for(int i = 0; i < n-2; i++) {
        cin >> crd[i][0] >> crd[i][1];
        crd[i][2] = i+3;
    }
    crd2 = crd;


    sort(crd.begin(), crd.end(), comp1);
    sort(crd2.begin(), crd2.end(),comp2);


    for(int i = 0; i < n-2; i++) {
        pr[crd[i][2]-3][0] = i;
        pr[crd2[i][2]-3][1] = i;
        pr[crd2[i][2]-3][2] = crd2[i][2]-3;
    }
    sort(pr.begin(), pr.end());



    int mx = -1, mxindex;
    int elozo = n+10;
    for(int i = 0; i < n-2; i++) {
        //cout << pr[i][0] << ' ' << pr[i][1] << endl;
        int hozzaad = 0;
        if (elozo < pr[i][1]) {
            hozzaad = pr[i][1]-elozo;
        }
        elozo = pr[i][1];
        //cout << pr[i][2]+3 << ' '<< (n-pr[i][0]-pr[i][1]+hozzaad) << endl;

        if (mx < (n-pr[i][0]-pr[i][1]+hozzaad)) {
            mx = (n-pr[i][0]-pr[i][1]+hozzaad);
            mxindex =pr[i][2];
        } else if (mx == (n-pr[i][0]-pr[i][1]+hozzaad) && mxindex > pr[i][2]) {
            mxindex = pr[i][2];
        }
    }
    cout << mxindex + 3 << ' ' << mx << endl;



}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms508 KiB
2Accepted81ms4404 KiB
subtask25/5
3Accepted1ms508 KiB
4Accepted1ms316 KiB
5Accepted1ms316 KiB
6Accepted1ms528 KiB
7Accepted1ms316 KiB
8Accepted1ms316 KiB
subtask310/10
9Accepted1ms316 KiB
10Accepted1ms316 KiB
11Accepted4ms568 KiB
12Accepted54ms3600 KiB
13Accepted67ms4404 KiB
14Accepted1ms316 KiB
subtask410/10
15Accepted1ms496 KiB
16Accepted1ms508 KiB
17Accepted1ms316 KiB
18Accepted1ms508 KiB
19Accepted3ms564 KiB
20Accepted3ms564 KiB
21Accepted28ms2828 KiB
22Accepted26ms2668 KiB
23Accepted27ms2868 KiB
24Accepted93ms8676 KiB
subtask520/20
25Accepted1ms508 KiB
26Accepted1ms316 KiB
27Accepted1ms316 KiB
28Accepted1ms528 KiB
29Accepted1ms316 KiB
30Accepted1ms316 KiB
31Accepted1ms316 KiB
32Accepted1ms316 KiB
33Accepted4ms568 KiB
34Accepted54ms3600 KiB
35Accepted67ms4404 KiB
36Accepted2ms316 KiB
37Accepted3ms688 KiB
38Accepted4ms784 KiB
39Accepted4ms748 KiB
40Accepted7ms688 KiB
41Accepted12ms1224 KiB
42Accepted25ms1844 KiB
43Accepted37ms2680 KiB
44Accepted52ms3684 KiB
45Accepted63ms4404 KiB
46Accepted57ms4404 KiB
47Accepted1ms316 KiB
subtask655/55
48Accepted1ms508 KiB
49Accepted82ms4400 KiB
50Accepted1ms316 KiB
51Accepted1ms316 KiB
52Accepted1ms528 KiB
53Accepted1ms316 KiB
54Accepted1ms316 KiB
55Accepted1ms316 KiB
56Accepted1ms316 KiB
57Accepted4ms568 KiB
58Accepted54ms3600 KiB
59Accepted67ms4404 KiB
60Accepted1ms496 KiB
61Accepted1ms508 KiB
62Accepted1ms316 KiB
63Accepted1ms508 KiB
64Accepted3ms564 KiB
65Accepted3ms564 KiB
66Accepted28ms2828 KiB
67Accepted26ms2668 KiB
68Accepted27ms2868 KiB
69Accepted93ms8676 KiB
70Accepted2ms316 KiB
71Accepted3ms688 KiB
72Accepted4ms784 KiB
73Accepted4ms748 KiB
74Accepted7ms688 KiB
75Accepted12ms1224 KiB
76Accepted25ms1844 KiB
77Accepted37ms2680 KiB
78Accepted52ms3684 KiB
79Accepted63ms4404 KiB
80Accepted2ms316 KiB
81Accepted3ms748 KiB
82Accepted4ms564 KiB
83Accepted4ms564 KiB
84Accepted6ms672 KiB
85Accepted12ms988 KiB
86Accepted25ms1844 KiB
87Accepted37ms2868 KiB
88Accepted54ms3564 KiB
89Accepted67ms4400 KiB
90Accepted79ms5176 KiB
91Accepted96ms6196 KiB
92Accepted108ms6972 KiB
93Accepted123ms7732 KiB
94Accepted125ms7960 KiB
95Accepted136ms8676 KiB
96Accepted137ms8756 KiB
97Accepted134ms8608 KiB
98Accepted136ms8756 KiB
99Accepted138ms8768 KiB
100Accepted57ms4404 KiB
101Accepted1ms316 KiB