Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include<vector>
- #include<algorithm>
- #include<stdio.h>
- #include<cmath>
- #include<time.h>
- using namespace std;
- int n,m;vector<int> a;vector<int> c;int sum1=1,sum2=1,b,mx=-1000000;bool debug=true;
- void input()
- {
- int b;
- cin>>n>>m;
- for(int i=0;i<n;i++){
- cin>>b;
- a.push_back(b);
- }
- sort(a.begin(),a.end());
- if(debug){cout<<n<<" "<<m<<endl;
- for(int i=0;i<n;i++){
- cout<<a[i]<<" ";
- }}
- }
- void solve2(int l,int count){
- if (count==m){for(int i=0;i<m;i++){sum1*=c[i];} if(mx<sum1){mx=sum1;}sum1=1; return ;}
- if(l==n){return ;}
- for(int i=l;i<n;i++){c.push_back(a[i]);
- solve2(i+1,count+1);
- c.pop_back();
- }
- }
- int solve1(){
- int i,sum1=1,sum2=1,b;
- if (m%2==0){
- for(i=0;i<m;i++){sum1*=a[i];sum2*=a[n-1-i];}
- if (sum1>sum2){cout<<sum1;}else{cout<<sum2;}
- }
- else{
- for(i=0;i<m;i++){
- sum1*=a[n-1-i];
- }
- cout<<sum1;
- }
- return 0;}
- int main()
- {
- if (debug){
- FILE * file = fopen("input.txt", "w");
- srand(time(0));
- n = rand()%6+1;
- fprintf(file, "%d ",n);
- m = rand() % n + 1;
- fprintf(file, "%d\n",m);
- for(int i=0;i<n;++i)
- { int p= rand() % 10 - 5;
- fprintf(file, "%d ",p);}
- fclose(file);
- freopen("input.txt","r",stdin);
- }
- input();
- if (debug){
- solve2(0,0);cout<<"\nAns="<<mx<<endl;
- }
- solve1();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement