HDU 6890 Express Mail Taking && CCPC 2020網路賽 1003
阿新 • • 發佈:2020-09-20
這個題把,應該算是思維題,最後出門的時候,帶上最靠近門口的快遞,其他的隨便怎麼拿,每拿一次就要回到K按一次密碼
#include<bits/stdc++.h> using namespace std; typedef long long ll; int num[1000005]; int main() { int a; ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); cin>>a; while(a--){ int n , m ,k; cin>>n>>m>>k; ll sum= 0 ; sum += k-1; for(int i = 0 ; i < m ; i++) cin>>num[i]; sort(num,num+m);//這個櫃子不一定是有序的 int i = 0; if(num[0] < k){///特判第一個 i++; } for(;i < m ; i++){ if(k < num[i]) sum+=(num[i]-k)*2;/// 走一次按一次櫃子 else if(k > num[i]) sum+=(k-num[i])*2; } sum+=k-1; cout<<sum<<endl; } return 0; }