请问为什么这样过不了🤔 是按照您的题解自己写了一遍 怎么都找不到错
#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>
using ll = long long;
using namespace std;
void solve(){
ll n,k;
cin>>n>>k;
if(n<3*k){
cout<<-1<<endl;
return;
}
vector<ll> a(3);
cin>>a[0]>>a[1]>>a[2];
sort(a.begin(),a.end());
vector<ll> d(3);
d[0]=a[1]-a[0];
d[1]=a[2]-a[1];
d[2]=n-(a[2]-a[0]);
sort(d.begin(),d.end());
ll sum=0;
if(k>d[0]) sum+=k-d[0];
if(k>d[1]) sum+=k-d[1];
cout<<sum<<endl;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin>>t;
while(t--){
solve();
}
return 0;
}
#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>
using ll = long long;
using namespace std;
void solve(){
ll n,k;
cin>>n>>k;
if(n<3*k){
cout<<-1<<endl;
return;
}
vector<ll> a(3);
cin>>a[0]>>a[1]>>a[2];
sort(a.begin(),a.end());
vector<ll> d(3);
d[0]=a[1]-a[0];
d[1]=a[2]-a[1];
d[2]=n-(a[2]-a[0]);
sort(d.begin(),d.end());
ll sum=0;
if(k>d[0]) sum+=k-d[0];
if(k>d[1]) sum+=k-d[1];
cout<<sum<<endl;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin>>t;
while(t--){
solve();
}
return 0;
}
点赞 5 评论 1
全部评论
没输入完就返回了
相关推荐
点赞 评论 收藏
分享

