ამოხსნების სტატუსი

ამ გვერდზე თქვენ იხილავთ გაგზავნილი ამოხსნების სტატუსს.


გაგზავნის თარიღი: 15.04.2019 15:56:18

ამოცანა: უდიდესი დადებითი ნამრავლი

მომხმარებელი: Takop

ვერდიქტი: სრული ამოხსნა

შეფასება: 100.0 ქულა







#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main(){
    ll n;
    cin>>n;
    ll i,a[n],s=0;
    for(i=0; i<n; i++){
        cin>>a[i];
        if(a[i]==0)a[i]=1;
        if(a[i]<0)s++;
    }
    ll k=0,m=1;
    if(s%2==0){
        k=1;
        for(i=0; i<n; i++){
            k*=a[i];
        }
        cout<<k;
    }
    else{
        i=0;
        k=0;
        sort(a,a+n);
        while(a[i]<0){
            k++;
            i++;
        }
        i=0;
        
        for(i=0; i<n; i++){
            m*=a[i];
        }
        cout<<m/a[k-1];
    }
    
}

ტესტები

შემავალი მონაცემები
4
7 -2 -1 3
გამომავალი მონაცემები
42
თქვენი პასუხი
42
ჩეკერის პასუხი
YES
შემავალი მონაცემები
6
2 -4 0 0 0 1
გამომავალი მონაცემები
2
თქვენი პასუხი
2
ჩეკერის პასუხი
YES
შემავალი მონაცემები
1
7
გამომავალი მონაცემები
7
თქვენი პასუხი
7
ჩეკერის პასუხი
YES
შემავალი მონაცემები
3
-5 -5 -1
გამომავალი მონაცემები
25
თქვენი პასუხი
25
ჩეკერის პასუხი
YES
შემავალი მონაცემები
12
0 0 0 0 1 0 0 0 1 0 0 0
გამომავალი მონაცემები
1
თქვენი პასუხი
1
ჩეკერის პასუხი
YES
შემავალი მონაცემები
11
-3 0 0 10 10 10 0 0 0 -7 -2
გამომავალი მონაცემები
21000
თქვენი პასუხი
21000
ჩეკერის პასუხი
YES
შემავალი მონაცემები
2
-4 -3
გამომავალი მონაცემები
12
თქვენი პასუხი
12
ჩეკერის პასუხი
YES
შემავალი მონაცემები
6
-2 -2 -2 -2 -2 -2
გამომავალი მონაცემები
64
თქვენი პასუხი
64
ჩეკერის პასუხი
YES
შემავალი მონაცემები
16
-2 -2 0 0 0 0 2 2 2 -2 -2 0 0 0 0 2
გამომავალი მონაცემები
256
თქვენი პასუხი
256
ჩეკერის პასუხი
YES
შემავალი მონაცემები
3
-1 0 1
გამომავალი მონაცემები
1
თქვენი პასუხი
1
ჩეკერის პასუხი
YES