警示后人+求助
查看原帖
警示后人+求助
1095322
mc_xiexie楼主2023/11/11 17:12

这个题数据巨大,巨多,直接这样会TLE两个点

#include<bits/stdc++.h>//万能头文件
using namespace std;
int main(){
    int n,m,a[5000000];//定义数组、变量
    cin>>n>>m;//输入n、k
    for(int i=0;i<n;i++){
        cin>>a[i];//输入数据,在这会TLE
    }
    sort(a,a+n);//排序
    cout<<a[m];//输出
  	 return 0;//返回0
}

求助(别骂,谢谢)

TLE后的我看了看题解,不错。

都是nth_element或分治。

我就想能不能用字符串提取数字来做

然后——输出只有0;

就想求助一下(别骂,谢谢)

#include<bits/stdc++.h>
using namespace std;
int main(){
    int b[5000000];
    int n,k,sum,g,t;
    double ant=0;
    cin>>n>>k;
    char a[99999999];
    gets(a);
    for(int i=0;i<n+n+1;i++){
        if(a[i]==' '){
            for(int q=sum+1;q<i;q++){
                g=pow(10,i-sum);
                t=a[q];
                ant+=t%g;
                sum++;
            }
            sum++;
        }
    }
    sort(b,b+n);
    cout<<b[k];
}
2023/11/11 17:12
加载中...