赛时AC:ABC rating: 补题;ABCD
目录
A
模拟
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int dx[]={0,1,0,-1};
int dy[]={1,0,-1,0};
const ll N=2e5+5;
const ll mod=1e9+7;
ll a[N];
void solve()
{
ll n,k,ans=0,s=0;
cin>>n>>k;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
for(int i=1;i<=n;i++)
{
if(a[i]>=k)
{
s+=a[i];
}
if(a[i]==0&&s)
{
s--;
ans++;
}
}
cout<<ans<<'\n';
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
int t=1;cin>>t;
while(t--)
{
solve();
}
}
B
重在理解题目意思;
叶子生长期是k年,叫生命周期或许更好理解,求第n年,那么就是从n向前的k个数,才是对答案有用的。
判断奇偶性。
i是偶数,都是偶数相乘还是偶数。结果与i奇偶性相同。
i是奇数,奇数相乘结果都是奇数。结果与i奇偶性相同。
可以转化为,第一项是n-k+1,最后一项是n,的这k个数等差数列求和。
注意