没登录的建议先登录

第一题 购物

#include<bits/stdc++.h>
using namespace std;
long long n,s,x,a,b,sum;
int main(){
    cin>>n>>s>>x;
    for(int i=1;i<=n;i++){
        cin>>a>>b;
        sum+=a*b;
    }
    if(sum>=s){
        cout<<sum;
    }
    else{
        cout<<sum+x;
    }
    return 0;
}

就一个很简单的基础累加问题

记得写long long

第二题:衣服

#include<bits/stdc++.h>
using namespace std;
int n,m,s,x;
string a;
int main(){
	cin>>n>>m;
	cin>>a;
	for(int i=0;i<a.size();i++){
		if(a[i]!='0')s++;
		if(i==a.size()-1||a[i+1]=='0'){
			if(s>x){
				x=s;
			}
			s=0;
		}
	}
	cout<<x-m;
	return 0;
}

方法:连续性问题求最长连续的非0段落的长度注意最后一段为连续的情况,如:
6 0
111111

第三题:游戏通关

#include<bits/stdc++.h>
using namespace std;
long long n,m,t,cnt,mn=LLONG_MAX,mnid,a[200005],b[200005],c[200005];
int main() {
	cin>>n>>m;
	for(int i=1; i<=n; i++) {
		cin>>a[i]>>b[i];
		c[i]=c[i-1]+a[i]+b[i];
	}
	t=min(n,m);
	for(int i=1; i<=t; i++) {
		cnt=c[i]+(m-i)*b[i];
		if(cnt<mn)mn=cnt,mnid=i;
	}
	cout<<mn;
	return 0;
}

第四题:好数

#include<bits/stdc++.h>
using namespace std;
const int N=2*1e6;
int n,a,x[N],y[N];
int main()
{
	cin>>n;
	for(int i=1; i<=n; i++) {
		cin>>a;
		x[i]=x[i-1];
		y[i]=y[i-1];
		if(i%2==1) {
			x[i]+=a;
		} else {
			y[i]+=a;
		}
	}
	int ans=0;
	for(int i=1; i<=n; i++) {
		if(x[i-1]+(y[n]-y[i])==y[i-1]+(x[n]-x[i])) {
			ans++;
		}
	}

	cout<<ans;
	return 0;
}

 笔记全图: 

第五题有位老师已经把笔记给我了,但我还是不太懂 

所以至于第五题文本框我还没做出来,请各位大神指点。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐