Advertisement
mihaimarcel21

Cosuri

Apr 20th, 2021
535
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.09 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. ifstream fin("cosuri.in");
  5. ofstream fout("cosuri.out");
  6. int T, N, co[1000005], min1=1000001, min2=1000001, max1, max2;
  7. int main()
  8. {
  9.     int i, nr, j;
  10.     fin>>T>>N;
  11.     for(i=1; i<=2*N; ++i)
  12.     {
  13.         fin>>nr;
  14.         co[i]=nr;
  15.         if(nr<=min1)
  16.         {
  17.             min2=min1;
  18.             min1=nr;
  19.         }
  20.         else if(nr>=min1 && nr<min2)
  21.             min2=nr;
  22.         if(nr>=max1)
  23.         {
  24.             max2=max1;
  25.             max1=nr;
  26.         }
  27.         else if(nr<=max1 && nr>max2)
  28.             max2=nr;
  29.     }
  30.     if(T==1)
  31.     {
  32.         fout<<(min1+min2)<<" "<<(max1+max2);
  33.         return 0;
  34.     }
  35.     sort(co+1,co+1+2*N);
  36.     int ok=1;
  37.     i=1;
  38.     j=2*N;
  39.     nr=co[i]+co[j];
  40.     min1=abs(co[j]-co[i]);
  41.     i++;
  42.     j--;
  43.     while(i<j && ok)
  44.     {
  45.         if(co[i]+co[j]!=nr)
  46.             ok=0;
  47.         if(abs(co[j]-co[i])<min1)
  48.             min1=abs(co[j]-co[i]);
  49.         nr=co[i]+co[j];
  50.         i++;
  51.         j--;
  52.     }
  53.     if(ok)
  54.         fout<<"DA\n"<<min1;
  55.     else
  56.         fout<<"NU";
  57.     return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement