2AC 4TLE 求助

P1168 中位数

liuxinrui09 @ 2023-08-20 12:26:37

下面是代码:

#include<bits/stdc++.h>
#define LL long long
using namespace std;

int main(){
    LL int num;std::cin>>num;LL a[num];
    for(LL i=0;i<num;i++) std::cin>>a[i];
    for(LL i=0;i<num;i+=2){
        sort(a,a+i+1);
        std::cout<<a[i/2]<<endl;
    }
    return 0; 
} 

by Wunsch @ 2023-08-22 14:12:18

@liuxinrui09 单纯的T了,每次都排一遍序太慢了而已,建议去学习一下权值线段树


by Wunsch @ 2023-08-22 14:25:55

@liuxinrui09 这里不要脸的贴一下自己的blog

(尽管我的blog珂能对大多数人来说并不友好


by EityDawn @ 2023-09-26 14:23:36

建议学习vector,很好懂

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
vector <int> s;
int k,n,m;
int cnt=1;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    cin>>k;
    for(int i=1;i<=k;i++)
    {
        cin>>m;
        s.insert(upper_bound(s.begin(),s.end(),m),m);
        if(i&1){
            cout<<s[(1+i)/2-1]<<"\n";
        }
    }
    return 0;       
}

求关


|