P2141 [NOIP2014 普及组] 珠心算测验
题目描述
珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。
某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他随机生成一个正整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另外两个(不同的)数之和?
最近老师出了一些测验题,请你帮忙求出答案。
(本题目为 2014NOIP 普及 T1)
输入格式
共两行,第一行包含一个整数 n,表示测试题中给出的正整数个数。
第二行有 n 个正整数,每两个正整数之间用一个空格隔开,表示测试题中给出的正整数。
输出格式
一个整数,表示测验题答案。
输入输出样例
输入
4
1 2 3 4
输出
2
代码如下
#include<iostream>
using namespace std;
int main(){
int n,arr[110],cnt=0,temp; //cnt统计等于和的个数
int b[110]; //用于标识数组元素结果是否重复 2+3=5 与 1+4=5是一种
cin>>n;
for(int i=1; i<=n; i++){
cin>>arr[i];
b[i]=1;
}
for(int i=1; i<n; i++){
//枚举第一个加数
for(int j=i+1; j<=n; j++){
//枚举第二个加数
temp=arr[i]+arr[j];
for(int k=1; k<=n; k++){
if(temp==arr[k] && b[k] != 0){
//和与数组所有元素进行比较
cnt++;
b[k]=0;
}
}
}
}
cout<<cnt;
return 0;
}
P1614 爱与愁的心痛
题目描述
最近有 n 个不爽的事,每句话都有一个正整数刺痛值(心理承受力极差)。爱与愁大神想知道连续 m 个刺痛值的和的最小值是多少,但是由于业务繁忙,爱与愁大神只好请你编个程序告诉他。
输入格式
第一行有两个用空格隔开的整数,分别代表 n 和 m。
第 2 到第 (n + 1) 行,每行一个整数,第 (i + 1) 行的整数 a i a_i% ai代表第 i 件事的刺痛值 a i a_i ai。
输出格式
输出一行一个整数,表示连续 m 个刺痛值的和的最小值是多少。
输入输出样例
输入
8 3
1
4
7
3
1
2
4
3
输出
6
代码如下
#include<iostream>
using namespace std;
int main(){
int n,m,a[100000],mina=100000;
cin>>n>>m;