(I7
I120
I149
(dp0
Vmetro.%l
p1
(Vmetro.cpp
p2
S'#include <iostream>\r\nusing namespace std;\r\nint main()\r\n{\r\n    long long N,M,A,B;\r\n    cin>>N>>M;\r\n    long long bigStations[M];\r\n    for(long long counter=0; counter<M; counter++)\r\n    {\r\n        cin>>bigStations[counter];\r\n    }\r\n    cin>>A>>B;\r\n    long long index1,index2;\r\n    for(long long counter=0; counter<M; counter++)\r\n    {\r\n        if(A==bigStations[counter])\r\n        {\r\n            index1=counter;\r\n        }\r\n        if(B==bigStations[counter])\r\n        {\r\n            index2=counter;\r\n            cout<<(index2-index1)*2;\r\n            return 0;\r\n        }\r\n    }\r\n    long long smallstations[M],largestations[M],x=0,y=0,razlika1[M],razlika2[M];\r\n    for(long long counter=0; counter<M; counter++)\r\n    {\r\n        if(B==bigStations[counter])\r\n        {\r\n            index1=counter;\r\n        }\r\n        if(A>bigStations[counter])\r\n        {\r\n            smallstations[x]=bigStations[counter];\r\n            razlika1[x]=A-bigStations[counter];\r\n                        x++;\r\n        }\r\n        if(A<bigStations[counter])\r\n        {\r\n            largestations[y]=bigStations[counter];\r\n            razlika2[y]=bigStations[counter]-A;\r\n            y++;\r\n        }\r\n        long long b;\r\n        for(long long k=0; k<x; k++)\r\n        {\r\n            if(razlika1[k]>razlika1[k+1])\r\n            {\r\n                smallstations[k]=b;\r\n                smallstations[k]=smallstations[k+1];\r\n                smallstations[k+1]=b;\r\n                razlika1[k]=b;\r\n                razlika1[k]=razlika1[k+1];\r\n                razlika1[k+1]=b;\r\n            }\r\n        }\r\n        for(long long k=0; k<y; k++)\r\n        {\r\n            if(razlika2[k]>razlika2[k+1])\r\n            {\r\n                largestations[k]=b;\r\n                largestations[k]=smallstations[k+1];\r\n                largestations[k+1]=b;\r\n                razlika2[k]=b;\r\n                razlika2[k]=razlika2[k+1];\r\n                razlika2[k+1]=b;\r\n            }\r\n        }\r\n        if(razlika1[0]>razlika2[0])\r\n        {\r\n            if(largestations[0]==bigStations[counter])\r\n            {\r\n                index2=counter;\r\n                cout<<razlika2+(index1-index2)*2;\r\n                    return 0;\r\n            }\r\n        }\r\n        else\r\n        {\r\n            if(smallstations[0]==bigStations[counter])\r\n            {\r\n                index2=counter;\r\n                cout<<razlika1+(index1-index2)*2;\r\n                    return 0;\r\n            }\r\n        }\r\n    }\r\n    long long razlika3[M],razlika4[M];\r\n    for(long long counter=0; counter<M; counter++)\r\n    {\r\n        if(B>bigStations[counter])\r\n        {\r\n            smallstations[x]=bigStations[counter];\r\n            razlika1[x]=B-bigStations[counter];\r\n                        x++;\r\n        }\r\n        if(B<bigStations[counter])\r\n        {\r\n            largestations[y]=bigStations[counter];\r\n            razlika2[y]=bigStations[counter]-B;\r\n            y++;\r\n        }\r\n        long long b;\r\n        for(long long k=0; k<x; k++)\r\n        {\r\n            if(razlika1[k]>razlika1[k+1])\r\n            {\r\n                smallstations[k]=b;\r\n                smallstations[k]=smallstations[k+1];\r\n                smallstations[k+1]=b;\r\n                razlika1[k]=b;\r\n                razlika1[k]=razlika1[k+1];\r\n                razlika1[k+1]=b;\r\n            }\r\n        }\r\n        for(long long k=0; k<y; k++)\r\n        {\r\n            if(razlika2[k]>razlika2[k+1])\r\n            {\r\n                largestations[k]=b;\r\n                largestations[k]=smallstations[k+1];\r\n                largestations[k+1]=b;\r\n                razlika2[k]=b;\r\n                razlika2[k]=razlika2[k+1];\r\n                razlika2[k+1]=b;\r\n            }\r\n        }\r\n        if(razlika1[0]>razlika2[0])\r\n        {\r\n            if(largestations[0]==bigStations[counter])\r\n            {\r\n                index1=counter;\r\n            }\r\n        }\r\n        else\r\n        {\r\n            if(smallstations[0]==bigStations[counter])\r\n            {\r\n                index1=counter;\r\n            }\r\n        }\r\n        if(A>bigStations[counter])\r\n        {\r\n            smallstations[x]=bigStations[counter];\r\n            razlika3[x]=A-bigStations[counter];\r\n                        x++;\r\n        }\r\n        if(A<bigStations[counter])\r\n        {\r\n            largestations[y]=bigStations[counter];\r\n            razlika4[y]=bigStations[counter]-A;\r\n            y++;\r\n        }\r\n        long long v;\r\n        for(long long k=0; k<x; k++)\r\n        {\r\n            if(razlika1[k]>razlika1[k+1])\r\n            {\r\n                smallstations[k]=b;\r\n                smallstations[k]=smallstations[k+1];\r\n                smallstations[k+1]=v;\r\n                razlika3[k]=v;\r\n                razlika3[k]=razlika1[k+1];\r\n                razlika3[k+1]=v;\r\n            }\r\n        }\r\n        for(long long k=0; k<y; k++)\r\n        {\r\n            if(razlika2[k]>razlika2[k+1])\r\n            {\r\n                largestations[k]=b;\r\n                largestations[k]=smallstations[k+1];\r\n                largestations[k+1]=b;\r\n                razlika4[k]=b;\r\n                razlika4[k]=razlika2[k+1];\r\n                razlika4[k+1]=b;\r\n            }\r\n        }\r\n        if(razlika3[0]>razlika4[0])\r\n        {\r\n            if(largestations[0]==bigStations[counter])\r\n            {\r\n                index2=counter;\r\n            }\r\n        }\r\n        else\r\n        {\r\n            if(smallstations[0]==bigStations[counter])\r\n            {\r\n                index2=counter;\r\n            }\r\n        }\r\n\r\n       if(razlika3[0]>razlika4[0])\r\n        {\r\n            if(razlika1[0]>razlika2[0]){\r\n                cout<<razlika4[0]+razlika2[0]+(index1-index2);\r\n                return 0;\r\n\r\n            }else{\r\n            cout<<razlika4[0]+razlika1[0]+(index1-index2);\r\n            return 0;\r\n            }\r\n        }else{\r\n        if(razlika1[0]>razlika2[0]){\r\n                cout<<razlika3[0]+razlika2[0]+(index1-index2);\r\n                return 0;\r\n\r\n            }else{\r\n            cout<<razlika3[0]+razlika1[0]+(index1-index2);\r\n            return 0;\r\n            }\r\n        }\r\n    }\r\n    return 0;\r\n}\r\n'
p3
tp4
stp5
.