題目只給了500ms,注意超時問題,一開始的幾發都超時了,後來想到了預處理,從後往前推即可,為了防止t的大小可能有問題,所以進行了排序,還有人用二分做的,比較犀利先貼一個我的思路
#include
#include
#include
#include
#include
#include
#include
#include
#include
接下來是二分做的,
#include
#include
#include
#include
#include
#include
using namespace std;
#define N 100010
int a[N],t[N],sum[N],n,m,k,ans;
int find(int x)
{
int l=0,r=n,res=0;
while(l<=r)
{
int mid=(l+r)/2;
if(sum[mid]