【Day4】C++竞赛每日练习

P1046 NOIP 2005 普及组 陶陶摘苹果https://www.luogu.com.cn/problem/P1046#ide

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

int a[11];
int n,ret;

int main() {
	for(int i = 1;i<=10;i++)
	{
		cin>>a[i];
	}
	cin>>n;
	for(int i = 1;i<=10;i++)
	{
		if(a[i]>(n+30))continue;
		else
		ret++;
	}
	cout<<ret;
	return 0;
}

P1478 陶陶摘苹果(升级版)https://www.luogu.com.cn/problem/P1478#ide

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
const int N = 5010;
int s,n,ret,a,b;

struct node
{
	int x,y;
}h[N];

bool cmp(node a,node b)
{
	return a.y<b.y;
}

int main() {
	cin>>n>>s>>a>>b;
	//苹果数a,力气s,椅子高度a,手长b
	for(int i = 1;i<=n;i++)
	{
		cin>>h[i].x>>h[i].y;
	} 
	sort(h+1,h+1+n,cmp);
	for(int i = 1;i<=n;i++)
	{
		if(h[i].x <=a+b && s >= h[i].y )
		{
			ret++;
			s -= h[i].y;
		}
		else continue;
	}
	cout<<ret;
	return 0;
}

P2969 USACO09DEC Music Notes Shttps://www.luogu.com.cn/problem/P2969#ide

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const  ll N = 50008;
int n,q,b[N],t[N],f[N];


int main()
{
	cin>>n>>q;
	for(int i = 1;i<=n;i++)
	{
		int x;cin>>x;
		b[i] = b[i-1]+x;//输入音符一次持续几个节拍
		
	}
	while(q--)
	{
		int t;cin>>t;
		int l = 1,r = n;
		while(l<r)
		{
			int mid = (l+r)/2;
			if(b[mid]>t)r = mid;
			else
			l = mid+1;
		}
		cout<<l<<endl;
	}
	return 0 ;
}
相关推荐
apcipot_rain36 分钟前
C++转Java日记(04)
java·开发语言·c++
NEFU_Jyj1 小时前
牛客周赛R168
算法
WL学习笔记3 小时前
vector模拟实现
c++
蜗牛一步步往上爬5 小时前
第十六章 C++语言在深度学习中的应用
开发语言·c++·深度学习
likexuec8 小时前
数据结构(2)
数据结构
Navigator_Z9 小时前
LeetCode //C - 1317. Convert Integer to the Sum of Two No-Zero Integers
c语言·算法·leetcode
wo_jack9 小时前
C++ 入门笔记(十六):第16课 vector 模拟实现十问十答 —— 从三指针到迭代器失效
c++·后端·面试·stl·vector
D e re k ZH9 小时前
C++ 标准库算法全景指南
数据结构·c++·算法
冻柠檬飞冰走茶10 小时前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划