Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int main()
- {
- int a,b,desno,levo,l,l1,a1,a2,low;
- a1=0;
- a2=0;
- low=2000000000;
- cin>>a >> b >>desno >>levo >>l;
- int high = 2000000000;
- int niza[l];
- for(int i=0;i<l;i++)
- {
- cin>>l1;
- niza[i]=l1;
- }
- if(l == 0) {
- if(a < b) {
- cout << (b - a) * desno << endl;
- }
- else {
- cout << (a - b) * levo << endl;
- }
- return 0;
- }
- for(int i=0;i<l;i++)
- {
- if(niza[i]>=a)
- {
- a1=(niza[i]-a)*desno;
- if(a1<low)
- {
- low=a1;
- }
- }
- if(niza[i]<=a)
- {
- a2=(a-niza[i])*levo;
- if(a2<low)
- {
- low=a2;
- }
- }
- }
- for(int i = 0; i < l; i++) {
- if(niza[i] >= b) {
- a1 = (niza[i] - b) * levo;
- if(a1 < high) {
- high = a1;
- }
- }
- if(niza[i] <= b) {
- a2 = (b - niza[i]) * desno;
- if(a2 < high) {
- high = a2;
- }
- }
- }
- int R = low + high;
- int b1;
- if(a <= b) {
- b1 = (b - a) * desno;
- if(R > b1) {
- R = b1;
- }
- }
- if(a >= b) {
- b1 = (a - b) * levo;
- if(R > b1) {
- R = b1;
- }
- }
- cout<<R<< endl;;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement