虽然我知道这个码会TLE,但是只T了一个点,希望哪位大佬能帮我看看怎么过掉其他没T的点。
AC的点:2、4、9、15、16、21
TLE的点(可以先不管):22
WA的点:其他
这是我的代码
#include<bits/stdc++.h>
using namespace std;
int k,n,m;
int s,e;
int np[100010],wp[100010],nt[100010],wt[100010],nei,wai;
int maxx;
int main(){
cin>>k>>n>>m;
for(int i=1;i<=n;i++){
cin>>s>>e;
bool f=true;
for(int j=1;j<=nei;j++){
if(s>nt[j]){
nt[j]=e;
np[j]++;
f=false;
break;
}
}
if(f&&nei<k)nei++,nt[nei]=e,np[nei]=1;
}
for(int i=1;i<=m;i++){
cin>>s>>e;
bool f=true;
for(int j=1;j<=wai;j++){
if(s>wt[j]){
wt[j]=e;
wp[j]++;
f=false;
break;
}
}
if(f&&wai<k)wai++,wt[wai]=e,wp[wai]=1;
}
for(int i=1;i<=k;i++)np[i]+=np[i-1];
for(int i=0;i<=k;i++)wp[i]+=wp[i-1];
for(int i=0;i<=k;i++)maxx=max(maxx,wp[i]+np[k-i]);
cout<<maxx<<endl;
return 0;
}