148592025-02-04 18:35:30horkaMaximális szorzat (50 pont)cpp17Forditási hiba
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int MOD=1e9+7;
signed main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int n,k,b; cin>>n>>k>>b;
    vector<int> pos,neg;
    for(int i=0; i<n; i++)
    {
        int x; cin>>x;
        if(x<0) neg.push_back(x);
        else pos.push_back(x);
    }
    if(neg.size()<b)
    {
        cout<<"-1\n";
        return 0;
    }
    sort(neg.begin(),neg.end());
    int op=0;
    priority_queue<int> q;
    for(int &i:pos)
        q.push(-i);
    for(int i=b; i<neg.size(); i++)
    {
        op+=abs(neg[i]);
        q.push(0);
    }
    if(op>k)
    {
        cout<<"-1\n";
        return 0;
    }
    k-=op;
    if(b==n)
    {
        int sum=0;
        for(int i=0; i<n; i++)
            sum+=abs(v[i])-1;
        if(sum>k)
        {
            cout<<-1<<endl;
            return 0;
        }
        priority_queue<int> s;
        for(int i=0; i<n; i++)
            s.push(-neg[i]);
        while(k--)
        {
            int x=s.top();
            s.pop();
            x--;
            s.push(-x);
        }
        int ans=1;
        while(!s.empty())
        {
            ans=ans*s.top()%MOD;
            s.pop();
        }
        cout<<ans<<endl;
        return 0;
    }
    while(k--)
    {
        int x=q.top();
        q.pop();
        x=abs(x);
        x++;
        q.push(-x);
    }
    int ans=1;
    while(!q.empty())
    {
        int x=q.top();
        q.pop();
        x=abs(x);
        ans=ans*x%MOD;
    }
    for(int i=0; i<b; i++)
        ans=ans*abs(neg[i])%MOD;
    cout<<ans<<"\n";
}
Forditási hiba
open /var/local/lib/isolate/413/box/a.out: no such file or directory
main.cpp: In function 'int main()':
main.cpp:41:22: error: 'v' was not declared in this scope
   41 |             sum+=abs(v[i])-1;
      |                      ^