CCF-CSP入门日记(第24次第一题/AcWing4280)

题干

4280. 序列查询 - AcWing题库

想法

序列A是递增的,f(x)中的x也是递增的,对于任意整数i\epsilon (0,n)M\epsilon (0,N),如果A_{i}\leqM,则任意整数j\epsilon (0,i),满足,A{j_{}}^{}\leq A_{i}\leq M

针对上述特性,采用对序列A的一次倒序遍历即可完成操作。

题解

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

int main()
{
    int n,N;
    cin>>n>>N;
    int *array=(int*)malloc(n*sizeof(int));
    int i;
    array[0]=0;
    for(i=1;i<=n;++i)
    {
        cin>>array[i];
    }
    //A ascend->倒序遍历,找到最大满足的
    int j=N-1;
    int sum=0;
    i=n;
    while(j>0)
    {
        if(array[i]<=j)
        {
            --j;
            sum+=i;
        }
        else
        {
            --i;
        }
    }
    cout<<sum;
}

我在想什么

昨天和朋友说,今天一定学算法,狠了下心,买了个课,虽然今天没听课,虽然真的是贼拉简单的题,虽然我也上过算法的课(培养计划的要求),但是好开心芜湖!!

会慢慢好起来的,之后肯定会有想不明白做不出来wannan give up的时间。但是,不积跬步无以至千里。

A good start is half done.

一定要坚持下去。

那就让我康康,一天天下去会变成怎样。

第一篇创作,属实灌水巨作哩。XD 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值