145442025-01-14 15:27:04KristófLegtöbbször szomszédok (75 pont)cpp17Hibás válasz 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base9/75
1Elfogadva0/01ms316 KiB
2Hibás válasz0/026ms1076 KiB
3Részben helyes1/21ms320 KiB
4Részben helyes1/21ms316 KiB
5Hibás válasz0/41ms316 KiB
6Részben helyes2/41ms500 KiB
7Részben helyes1/31ms316 KiB
8Hibás válasz0/41ms316 KiB
9Hibás válasz0/43ms440 KiB
10Hibás válasz0/44ms412 KiB
11Részben helyes2/44ms316 KiB
12Hibás válasz0/47ms316 KiB
13Hibás válasz0/47ms512 KiB
14Részben helyes2/46ms316 KiB
15Hibás válasz0/46ms564 KiB
16Hibás válasz0/49ms624 KiB
17Hibás válasz0/413ms636 KiB
18Hibás válasz0/416ms820 KiB
19Hibás válasz0/428ms1076 KiB
20Hibás válasz0/428ms1180 KiB
21Hibás válasz0/428ms1076 KiB
22Hibás válasz0/430ms1212 KiB