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

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


გაგზავნის თარიღი: 15.04.2019 15:52:47

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

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

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

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







#include <bits/stdc++.h>
using namespace std;
map <int,int> mp;
int a[100050],k=1,ans=1,u,x=1;
int main()
{
    int n,y;
    cin>>n;
    
    for (int i=1; i<=n; i++)
     cin>>a[i];
    
    sort (a+1,a+n+1); 
    for (int i=n; i>=1; i--)
    {
         if (a[i]>0) ans*=a[i]; 
         else if (a[i]<0)
         {
              y=i;
              break;
         }
    }
    for (int i=1; i<=y; i++)
    {
          x*=a[i];
          if (x>0) {ans*=x; x=1;}
    }
    cout<<ans;
}

ტესტები

შემავალი მონაცემები
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