Advertisement
Josif_tepe

Untitled

Mar 17th, 2021
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.68 KB | None | 0 0
  1. #include <iostream>
  2. #include<string>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.     int vesna, kire, desno, levo, n;
  8.     cin >> vesna >> kire >> desno >> levo >> n;
  9.     int a[n];
  10.     for(int i = 0; i < n; i++) {
  11.         cin >> a[i];
  12.     }
  13.     int min = 2000000000;
  14.     if(vesna < kire) {
  15.         if((kire - vesna) * desno < min) {
  16.             min = (kire - vesna) * desno;
  17.         }
  18.     }
  19.     else {
  20.         if((vesna - kire) * levo < min) {
  21.             min = (vesna - kire) * levo;
  22.         }
  23.     }
  24.     if(n == 0) {
  25.         cout << min << endl;
  26.         return 0;
  27.     }
  28.     int najbliska_postojka_do_vesna = 2000000000;
  29.     int najbliska_postojka_do_kire = 2000000000;
  30.     for(int i = 0; i < n; i++) {
  31.         if(vesna <= a[i]) {
  32.             if((a[i] - vesna) * desno < najbliska_postojka_do_vesna) {
  33.                 najbliska_postojka_do_vesna = (a[i] - vesna) * desno;
  34.             }
  35.         }
  36.         if(vesna >= a[i]) {
  37.             if((vesna - a[i]) * levo < najbliska_postojka_do_vesna) {
  38.                 najbliska_postojka_do_vesna = (vesna - a[i]) * levo;
  39.             }
  40.         }
  41.        
  42.         if(kire >= a[i]) {
  43.             if((kire - a[i]) * desno < najbliska_postojka_do_kire) {
  44.                 najbliska_postojka_do_kire = (kire - a[i]) * desno;
  45.             }
  46.         }
  47.         if(kire <= a[i]) {
  48.             if((a[i] - kire) * levo < najbliska_postojka_do_kire) {
  49.                 najbliska_postojka_do_kire = (a[i] - kire) * levo;
  50.             }
  51.         }
  52.     }
  53.     if(min > najbliska_postojka_do_kire + najbliska_postojka_do_vesna) {
  54.         min = najbliska_postojka_do_kire + najbliska_postojka_do_vesna;
  55.     }
  56.     cout << min << endl;
  57.     return 0;
  58. }
  59.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement