99352024-03-19 08:42:53matyiMaximális szorzat (50 pont)cpp17Forditási hiba
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

int szorzat (int a[],int n)
{
    int szor=1;
    for (int i=1;i<=n;i++)
    {
        szor*=a[i];
    }
    return szor;
}

int negativ (int a[],int n)
{
    int db=0;
    for (int i=1;i<=n;i++)
    {
        if (a[i]<0)
            db++;
    }
    return db;
}

void rendez(int a[],int n)
{
    bool felt=1;
    int v=n-1,c;
    while (felt)
    {
        felt=0;
        for (int i=1;i<=v;i++)
        {
            if (a[i]<a[i+1])
            {
                c=a[i];
                a[i]=a[i+1];
                a[i+1]=c;
                felt=1;
            }
        }
        v--;
    }
}

int main()
{
    int n,k,b,a[100001];
    //ifstream fin("be.in");
    cin>>n>>k>>b;
    int db;
    for (int i=1;i<=n;i++)
    {
        cin>>a[i];
        if (a[i]<0)
            db++;

    }
    if (db<b)
    {
        cout<<-1;
    }
    else
    {
        int maxi=INT_MIN,poz;
        if (negativ(a,n)>b)
        {
            int c=negativ(a,n)-b;


            while (negativ(a,n)>b)
            {
                rendez(a,n);
                int j=1;

                while (a[j]>0 or j<n) j++;

                while (j<=n and c!=0)
                {
                    while (a[j]<1)
                    {
                        a[j]++;
                        k--;
                    }
                    c--;
                    j++;
                }
            }
        }
        while (k>0)
        {
            for (int i=1;i<=n;i++)
            {
                a[i]++;
                if (szorzat(a,n)>maxi and negativ(a,n)<=b)
                {
                    maxi=szorzat(a,n);
                    poz=i;
                }
                a[i]--;
            }
            a[poz]++;
            k--;
        }
        cout<<maxi;
    }

    return 0;
}
Forditási hiba
exit status 1
main.cpp: In function 'int main()':
main.cpp:68:18: error: 'INT_MIN' was not declared in this scope
   68 |         int maxi=INT_MIN,poz;
      |                  ^~~~~~~
main.cpp:4:1: note: 'INT_MIN' is defined in header '<climits>'; did you forget to '#include <climits>'?
    3 | #include <algorithm>
  +++ |+#include <climits>
    4 | 
main.cpp:101:21: error: 'poz' was not declared in this scope
  101 |                     poz=i;
      |                     ^~~
main.cpp:105:15: error: 'poz' was not declared in this scope
  105 |             a[poz]++;
      |               ^~~
Exited with error status 1