94202024-02-21 14:55:11Vkrisztian01Ládapakolás raktárban (50)cpp17Hibás válasz 8/5048ms6252 KiB
#include <iostream>
#include<vector>

using namespace std;

struct kocka
{
    int alja;
    int teteje;
    int osszeg;
};

int n,m,db=0,eleje,vege;
vector<kocka> l;


int main()
{
    cin>>n>>m;
    l.resize(n+1);
    for(int i=1;i<=n;i++)
    {
        cin>>l[i].alja;
        l[i].teteje=l[i].alja;
        l[i].osszeg=l[i].alja;
    }
    eleje=1;
    //cout<<endl;
    while(eleje!=n)
    {
        /*for(int i=1;i<=n;i++) cout<<l[i].teteje<<" ";
        cout<<endl;
        for(int i=1;i<=n;i++) cout<<l[i].alja<<" ";
        cout<<endl;
        cout<<endl;*/



        if((l[eleje].osszeg+l[eleje+1].osszeg>m) || (l[eleje].alja>=l[eleje+1].teteje && l[eleje].teteje<=l[eleje+1].alja))
        {
            ++eleje;
            continue;
        }
        if(l[eleje].teteje>l[eleje+1].alja)
        {
           // cout<<eleje+1<<"-t "<<eleje<<"-be"<<endl;
            l[eleje+1].alja=l[eleje].alja;
            l[eleje+1].osszeg+=l[eleje].osszeg;
            ++db;
            ++eleje;
            continue;
        }
        if(eleje==n-1 || l[eleje+2].osszeg+l[eleje+1].osszeg>m || l[eleje+1].teteje<=l[eleje+2].alja || l[eleje].teteje>=l[eleje+2].teteje || l[eleje].alja>=l[eleje+2].alja)
        {
           // cout<<eleje<<"-t "<<eleje+1<<"-be"<<endl;
            l[eleje+1].osszeg+=l[eleje].osszeg;
            l[eleje+1].teteje=l[eleje].teteje;
            ++db;
            ++eleje;
            continue;
        }
        //cout<<eleje+2<<"-t "<<eleje+1<<"-be"<<endl;
        l[eleje+2].alja=l[eleje+1].alja;
        l[eleje+2].osszeg+=l[eleje+1].osszeg;
        l[eleje+1]=l[eleje];
        ++db;
        ++eleje;
        continue;


    }
    cout<<db;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base8/50
1Elfogadva0/03ms1744 KiB
2Hibás válasz0/04ms2156 KiB
3Hibás válasz0/23ms2124 KiB
4Elfogadva2/23ms2336 KiB
5Elfogadva2/23ms2552 KiB
6Elfogadva2/23ms2784 KiB
7Elfogadva2/23ms3000 KiB
8Hibás válasz0/23ms3364 KiB
9Hibás válasz0/33ms3284 KiB
10Hibás válasz0/23ms3280 KiB
11Hibás válasz0/23ms3532 KiB
12Hibás válasz0/23ms3652 KiB
13Hibás válasz0/34ms3888 KiB
14Hibás válasz0/34ms3908 KiB
15Hibás válasz0/36ms3860 KiB
16Hibás válasz0/229ms6152 KiB
17Hibás válasz0/339ms6108 KiB
18Hibás válasz0/348ms6252 KiB
19Hibás válasz0/330ms5788 KiB
20Hibás válasz0/332ms5796 KiB
21Hibás válasz0/330ms5796 KiB
22Hibás válasz0/335ms6164 KiB