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

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


გაგზავნის თარიღი: 22.04.2019 15:27:38

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

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

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

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







#include <bits/stdc++.h>

using namespace std; 

int main() 
{ 
	int n;
	cin >> n;

	vector<int> v(n, 0);

	int e;
	set<int> st;
	for(int i = 0; i < v.size(); i++){
		cin >> e;
		v[i] = e;
	}

	st.insert(v[0]);
	for(int i = 1; i < v.size(); i++){
		set<int> curr;
		for(int e : st){
			curr.insert(e * v[i]);
		}
		curr.insert(v[i]);
		st.insert(curr.begin(), curr.end());
	}
	int max = INT_MIN;
	for(int e : st){
			if(e > max) max = e;
		}
		cout << max << endl;
	return 0; 
}

ტესტები

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