这个题把,应该算是思维题,最后出门的时候,带上最靠近门口的快递,其他的随便怎么拿,每拿一次就要回到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; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。