寻找段落
2023-02-18 16:35:27 时间
寻找段落
题目描述
给定一个长度为n的序列a_i,定义a[i]为第i个元素的价值。现在需要找出序列中最有价值的“段落”。段落的定义是长度在[S,T]之间的连续序列。最有价值段落是指平均值最大的段落,
段落的平均值=段落总价值/段落长度。
输入格式
第一行一个整数n,表示序列长度。
第二行两个整数S和T,表示段落长度的范围,在[S,T]之间。
第三行到第n+2行,每行一个整数表示每个元素的价值指数。
输出格式
一个实数,保留 3 位小数,表示最优段落的平均值。
样例输入
4
3 4
5 3 -3 9
样例输出
3.500
代码:
#include<iostream>
#include<iomanip>
using namespace std;
double findValue3(int *arr,int n,int len){
double maxdemo=-0xffffff,sum;
for (int i = 1; i <= n-len+1; i++)
{
sum=0;
for (int j = i; j < i+len; j++)
{
sum+=arr[j];
}
if (sum>maxdemo)
{
maxdemo=sum;
}
}
return maxdemo/len;
}
int main(){
int n;
cin>>n;
int S,T;
cin>>S>>T;
int *arr = new int[n+1];
for (int i = 1; i <= n; i++)
{
cin>>arr[i];
}
double sum=0,max=-0xffffff;
for (int i = S; i <= T; i++)
{
double value=findValue3(arr,n,i);
if(value>max){
max=value;
}
}
cout<<setiosflags(ios::fixed)<<setprecision(3)<<max<<endl;
}
相关文章
- Typora+Docsify快速入门
- Docsify部署IIS
- Docsify使用指南(打造最快捷、最轻量级的个人&团队文档)
- C#进程调用FFmpeg操作音视频
- .NET对接极光消息推送
- Windows10 Docker安装详细教程
- 十本你不容错过的Docker入门到精通书籍推荐
- CentOS 8.4安装Docker
- WCF服务调用超时错误:套接字连接已中止。这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的。本地套接字超时是“00:05:30”(已解决)
- IIS部署WCF详细教程
- .NET Web应用配置本地IIS(实现Visual Studio离线运行与调试)
- Windows10 IIS Web服务器安装配置
- uni-app跨平台框架介绍和快速入门
- 程序员常用的工具软件推荐
- Visual Studio 2022 Preview设置简体中文
- .NET企业微信回调配置(数据回调URL和指令回调URL验证)
- Jenkins汉化配置
- Window安装构建神器Jenkins
- Fiddler手机抓包配置指南
- .NET Core Web API使用HttpClient提交文件的二进制流(multipart/form-data内容类型)