1.卖菜:没有用到什么方法,但是注意四舍五入和去尾是不同的概念。
#include<bits/stdc++.h>//去尾法,非四舍五入
using namespace std;
int main()
{
int n;
cin>>n;
int a[1010];
for(int i=1;i<=n;i++){
cin>>a[i];
}
int sum=(a[1]+a[2])/2;//去尾
cout<<sum<<' ';
for(int i=2;i<=n-1;i++){
sum=(a[i-1]+a[i+1]+a[i])/3;
cout<<sum<<' ';
}
sum=(a[n-1]+a[n])/2;
cout<<sum<<endl;
return 0;
}
#include<bits/stdc++.h>//差分前缀和
using namespace std;
const int N=1000010;
int main(){
int n;
cin>>n;
int a[N+1]={0};
// memset(a,0,sizeof(a));//从a的0开始
for (int i=1;i<=(2*n);i++){
int l,r;
cin>>l>>r;
a[l]++;
a[r]--;//看题目要求,r不算入
}
long long sum=0;
for(int i=1;i<=N;i++){
a[i]+=a[i-1];
if(a[i]>1)sum++;
}
cout<<sum<<endl;
return 0;
}