Guest User

Untitled

a guest
Jan 21st, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.88 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <algorithm>
  4. using namespace std;
  5. long long n,k,c,ac,a[111111],l,r,p,s=1,MOD=1000000007;
  6. int main()
  7. {
  8.     /*freopen("input.txt","r",stdin);
  9.     freopen("output.txt","w",stdout);*/
  10.     cin>>n>>k;
  11.     for (int i=1;i<=n;i++) cin>>a[i];
  12.     sort(a+1,a+n+1);
  13.     c=1;ac=1;
  14.     if (k%2==1){ac=abs(a[n]);if (a[n]==0)c=0;if (a[n]<0)c=-1;}
  15.     l=1;r=n-k%2;
  16.     for  (int i=1;i<=k/2;i++){
  17.          if (c*1ll*a[l]*a[l+1]>c*1ll*a[r]*a[r-1]){
  18.                                                   p=(a[l]*1ll*a[l+1])%MOD;
  19.                                                   s=(s*1ll*p)%MOD;
  20.                                                   l+=2;}
  21.          else {
  22.                p=(a[r]*1ll*a[r-1])%MOD;
  23.                s=(s*1ll*p)%MOD;
  24.                r-=2;}
  25.          }
  26.     s=(s*1ll*c*ac)%MOD;
  27.     if (s<0)s+=MOD;
  28.     cout<<s;
  29.     return 0;
  30. }
Add Comment
Please, Sign In to add comment