やるだけ(ARC067D - Walk and Teleport)
400点に飽きてきたのでたまには500をやるか、と思って簡単そうなのを選んで解いた
なんでこれ500点なの…?300点くらいでは
#include <stdio.h> #include <stdlib.h> #include<math.h> #include<algorithm> #include<vector> #include<queue> #include<string> #include<set> #include<cstring> using namespace std; #define rep(i,n) for(int i=0;i<n;i++) #define INF 1001001001 #define LLINF 1001001001001001001 #define mp make_pair #define pb push_back #define LLIandI pair<long long int , int> #define ll long long int main(void){ long long int N,A,B; long long int X[100002]; long long int ans=0; scanf("%lld %lld %lld",&N,&A,&B); rep(i,N)scanf("%lld",&X[i]); rep(i,N-1){ ans+=min(A*(X[i+1]-X[i]),B); } printf("%lld\n",ans); }