109822024-04-25 16:18:06KristófZebra (75 pont)python3Futási hiba 0/7518ms12556 KiB
#include <iostream>
#include <vector>
#include <bits/stdc++.h>
using namespace std;

void ir(vector<int>v)
{
for(int i=0;i<v.size();i++)
    {
    cout<<" "<<v[i];
    }
cout<<endl;
}

int main()
{
    int n;
    cin>>n;
    int old[n];
    int ido[n];
    for(int i=0;i<n;i++)
        {
        cin>>old[i];

        }
    for(int i=0;i<n;i++)
        {
        cin>>ido[i];
        }
    vector<int>egy;
    vector<int>nulla;
    vector<int>vala1;
    vector<int>vala0;
    int ans=0;
    for(int i=0;i<n;i++)
        {
        if(old[i]==1)
            {
            egy.push_back(ido[i]);
            }
        else
            {
            nulla.push_back(ido[i]);
            }
        }
        int idoseged;
        int idoseged2;
        if(egy[0]<nulla[0])
            {
            idoseged=egy[0];
            idoseged2=egy[0];
            }
        else
            {
            idoseged=nulla[0];
            idoseged2=nulla[0]-1;
            }
        vector<int>::iterator it;
        sort(nulla.begin(),nulla.end());
        sort(egy.begin(),egy.end());
        for(int i=0;i<n;i++)
            {
            if(egy[0]<nulla[0])
                {
                //cout<<"egy"<<" "<<egy[0]<<" "<<idoseged2<<endl;
                vala1.push_back(egy[0]);
                idoseged=egy[0];
                it=egy.begin();
                egy.erase(it);
                }
            else
                {
                //cout<<"nulla"<<endl;
                vala0.push_back(nulla[0]);
                idoseged=nulla[0];
                it=nulla.begin();
                nulla.erase(it);
                }
            //cout<<idoseged<<" "<<idoseged2<<endl;
            if(idoseged2!=idoseged)
            {
                ans+=vala1.size()*(idoseged-idoseged2);
                ans+=vala0.size()*(idoseged-idoseged2);
                ans--;
                cout<<vala0.size()*(idoseged-idoseged2)<<" "<<vala1.size()*(idoseged-idoseged2)<<" bla"<<endl;
                idoseged2=idoseged;
            }

            if(nulla.size()<1)
                {
                    ir(vala0);
                    ir(vala1);
                    ir(egy);
                    ir(nulla);
                for(int i=0;i<egy.size();i++)
                    {
                    vala1.push_back(egy[i]);
                    idoseged=egy[i];
                    if(idoseged!=idoseged2)
                        {
                        ans+=vala1.size()*(idoseged-idoseged2);
                        ans+=vala0.size()*(idoseged-idoseged2);
                        ans--;
                        cout<<vala0.size()*(idoseged-idoseged2)<<" "<<vala1.size()*(idoseged-idoseged2)<<" bla"<<endl;
                        idoseged2=idoseged;
                        }
                    }
                break;
                }
            if(egy.size()<1)
                {
                for(int i=0;i<nulla.size();i++)
                    {
                    vala1.push_back(egy[i]);
                    idoseged=egy[i];
                    if(idoseged!=idoseged2)
                        {
                        ans+=vala1.size()*(idoseged-idoseged2);
                        ans+=vala0.size()*(idoseged-idoseged2);
                        ans--;
                        idoseged2=idoseged;

                        }
                    }
                break;
                }
                if(idoseged!=idoseged2)
                {
                if(vala0.size()>0 && vala1.size()>0)
                    {
                    vala0.clear();
                    vala1.clear();
                    }

                ir(vala1);
                ir(vala0);

                //cout<<ans<<" "<<idoseged<<" "<<idoseged2<<endl;
                }


            }
            ir(vala1);
            ir(vala0);
            if(ans<0)
                {
                cout<<0;
                }
            else
            cout<<ans;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/75
1Futási hiba0/018ms10928 KiB
2Futási hiba0/017ms11012 KiB
3Futási hiba0/517ms11364 KiB
4Futási hiba0/517ms11580 KiB
5Futási hiba0/517ms11660 KiB
6Futási hiba0/517ms12036 KiB
7Futási hiba0/517ms12144 KiB
8Futási hiba0/517ms12072 KiB
9Futási hiba0/517ms11972 KiB
10Futási hiba0/517ms12196 KiB
11Futási hiba0/517ms12276 KiB
12Futási hiba0/517ms12060 KiB
13Futási hiba0/517ms12408 KiB
14Futási hiba0/517ms12300 KiB
15Futási hiba0/517ms12496 KiB
16Futási hiba0/517ms12556 KiB
17Futási hiba0/517ms12424 KiB