求助站外题
  • 板块学术版
  • 楼主dendky
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/14 20:24
  • 上次更新2025/1/15 10:06:00
查看原帖
求助站外题
1365127
dendky楼主2025/1/14 20:24

rt

code :

#include <bits/stdc++.h>
using namespace std;
int ans;
int a[1000005];
bool flag[1000005];
int main() {
    ios::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    int n;
    cin>>n;
    for (int i=1; i<=n; i++) cin>>a[i];
    long long m;
    cin>>m;
    sort (a+1, a+1+n);
    for (int i=1; i<=n; i++){
    	int l=1, r=n;
    	while (l<=r){
    	    int mid=(l+r)/2;
    	    if (a[mid]+a[i]<m) l=mid+1;
            else if (a[mid]+a[i]>m) r=mid-1;
            else {
                if (flag[i]==0 && flag[mid]==0 && mid!=i){
                    cout<<a[i]<<" "<<a[mid]<<"\n";
                    flag[i]=1;
                    flag[mid]=1;
                }
                break;
            }
    	}
    }
    return 0;
}

附:洛谷今天怎么了,炸了吗,为什么炸?

2025/1/14 20:24
加载中...