145442025-01-14 15:27:04KristófLegtöbbször szomszédok (75 pont)cpp17Wrong answer 9/7530ms1212 KiB
#include <iostream>
#include <vector>

using namespace std;

struct meg
{
int index;
int hanyszor;
bool n;
}typedef meg;

int main()
{
    int n,lo;
    meg nagy;
    meg pontok;
    meg pontok2;
    meg kicsi;
    pontok.hanyszor=-1;
    pontok2.hanyszor=-1;
    cin>>n>>lo;
    lo--;
    int pont[n];
    for(int i=0;i<n;i++)
        {
        cin>>pont[i];
        }
    int min=0;
    int max=100002;
    bool na=0,ki=0;
    bool voltn=false,voltk=false;
    bool voltn2=false,voltk2=false;
    for(int i=0;i<n;i++)
        {
        if(i>=lo)
            {
            nagy.hanyszor++;
            kicsi.hanyszor++;
            }



        if(pont[i]>pont[lo] && pont[i]<max)
            {
            voltn=true;
            if(na)
                {
                if(nagy.hanyszor>pontok.hanyszor || pontok.hanyszor==-1)
                    {
                    voltn2=true;
                    pontok.hanyszor=nagy.hanyszor;
                    pontok.index=nagy.index;
                    }
                }
            else
                {
                na=true;
                }
            max=pont[i];
            nagy.index=i;
            nagy.n=true;
            nagy.hanyszor=0;

            }
            else if(pont[i]<pont[lo] && pont[i]>min)
                {
                //cout<<"bent"<<endl;
                voltk=true;
                if(ki)
                    {

                    if(kicsi.hanyszor>pontok2.hanyszor || pontok2.hanyszor==-1)
                        {
                        pontok2=kicsi;
                        voltk2=true;
                        }
                    }
                else
                    {
                    ki=true;
                    }
                min=pont[i];
                kicsi.index=i;
                kicsi.n=true;
                kicsi.hanyszor=0;
                }

        }
        if(voltn==false)
            {
            cout<<-1<<endl;
            }
        else if(voltn2==false)
            {

            cout<<nagy.index+1<<" "<<nagy.hanyszor<<endl;
            }
        else
            {
            cout<<pontok.index+1<<" "<<pontok.hanyszor<<endl;
            }
        if(voltk==false)
            {
            cout<<-1<<endl;
            }
        else if(voltk2==false)
            {

            cout<<kicsi.index+1<<"  "<<kicsi.hanyszor<<endl;
            }
        else
            {

            cout<<pontok2.index+1<<" "<<pontok2.hanyszor<<endl;
            }


    return 0;
}
SubtaskSumTestVerdictTimeMemory
base9/75
1Accepted0/01ms316 KiB
2Wrong answer0/026ms1076 KiB
3Partially correct1/21ms320 KiB
4Partially correct1/21ms316 KiB
5Wrong answer0/41ms316 KiB
6Partially correct2/41ms500 KiB
7Partially correct1/31ms316 KiB
8Wrong answer0/41ms316 KiB
9Wrong answer0/43ms440 KiB
10Wrong answer0/44ms412 KiB
11Partially correct2/44ms316 KiB
12Wrong answer0/47ms316 KiB
13Wrong answer0/47ms512 KiB
14Partially correct2/46ms316 KiB
15Wrong answer0/46ms564 KiB
16Wrong answer0/49ms624 KiB
17Wrong answer0/413ms636 KiB
18Wrong answer0/416ms820 KiB
19Wrong answer0/428ms1076 KiB
20Wrong answer0/428ms1180 KiB
21Wrong answer0/428ms1076 KiB
22Wrong answer0/430ms1212 KiB