『ACM C++』 Codeforces | 1003C - Intense Heat

来源:https://www.cnblogs.com/winniy/archive/2019/03/03/10468118.html
-Advertisement-
Play Games

今日興趣新聞: NASA 研製最強推進器,加速度可達每秒 40 公裡,飛火星全靠它 鏈接:https://mbd.baidu.com/newspage/data/landingsuper?context=%7B"nid"%3A"news_11707429683828231737"%7D&n_type ...


今日興趣新聞:

NASA 研製最強推進器,加速度可達每秒 40 公裡,飛火星全靠它

鏈接:https://mbd.baidu.com/newspage/data/landingsuper?context=%7B"nid"%3A"news_11707429683828231737"%7D&n_type=0&p_from=1

 

 

------------------------------------------------題目----------------------------------------------------------

The heat during the last few days has been really intense. Scientists from all over the Berland study how the temperatures and weather change, and they claim that this summer is abnormally hot. But any scientific claim sounds a lot more reasonable if there are some numbers involved, so they have decided to actually calculate some value which would represent how high the temperatures are.

Mathematicians of Berland State University came up with a special heat intensity value. This value is calculated as follows:

Suppose we want to analyze the segment of nn consecutive days. We have measured the temperatures during these nn days; the temperature during ii-th day equals aiai.

We denote the average temperature of a segment of some consecutive days as the arithmetic mean of the temperature measures during this segment of days. So, if we want to analyze the average temperature from day xx to day yy, we calculate it as i=xyaiyx+1∑i=xyaiy−x+1 (note that division is performed without any rounding). The heat intensity value is the maximum of average temperatures over all segments of not less than kkconsecutive days. For example, if analyzing the measures [3,4,1,2][3,4,1,2] and k=3k=3, we are interested in segments [3,4,1][3,4,1], [4,1,2][4,1,2] and [3,4,1,2][3,4,1,2] (we want to find the maximum value of average temperature over these segments).

You have been hired by Berland State University to write a program that would compute the heat intensity value of a given period of days. Are you up to this task?

Input

The first line contains two integers nn and kk (1kn50001≤k≤n≤5000) — the number of days in the given period, and the minimum number of days in a segment we consider when calculating heat intensity value, respectively.

The second line contains nn integers a1a1, a2a2, ..., anan (1ai50001≤ai≤5000) — the temperature measures during given nn days.

Output

Print one real number — the heat intensity value, i. e., the maximum of average temperatures over all segments of not less than kkconsecutive days.

Your answer will be considered correct if the following condition holds: |resres0|<106|res−res0|<10−6, where resres is your answer, and res0res0 is the answer given by the jury's solution.

input

4 3
3 4 1 2

output

2.666666666666667

------------------------------------------------題目----------------------------------------------------------

 

(一) 題目分析:

    正常div3難度題型,難度處理可能是在求和統計上,題目大概含義就是:

    求n個數中至少連續k個數的平均值的最大值,如:n=4,k=3   給定的n個數是3 4 1 2,則求[3,4,1],[4,1,2],[3,4,1,2]三個區間的平均值的最大值。

    我用的方法比較簡單,就是簡單的取值求和,今天下午打完題之後這道題還特地搜了一下,發現還有其他的解法:首碼和 /  尺縮

 

(二)AC代碼:

    因為代碼比較簡單,依舊不分塊了~

#include<stdio.h>
#define max(a,b) (a>b) ? a : b
using namespace std;
int n,k,sum;
int temp[5001];
double ans,all;
int main()
{
    scanf("%d%d",&n,&k);
    ans = 0;
    for(int i = 1;i<=n;i++) scanf("%d",&temp[i]);

    for(int i = 1;i<=n;++i)
    {
        sum = 0;
        for(int j = i;j<=n;++j)
        {
            sum+= temp[j];
            if (j - i + 1 >= k) 
            {
                all = sum * 1.0 / (j - i + 1);
                if(all>ans) ans = all;
            }
        }
    }
    printf("%.15f\n",ans);
    return 0;
}

 

(三)AC截圖:

 

 

(四)解後分析:

  貢獻一個隊內牛逼師兄高效率的代碼:

  備註一下:首碼和


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 題意 "題目鏈接" Sol 居然出個SAM板子也是沒誰了233 cpp include define Pair pair define MP(x, y) make_pair(x, y) define fi first define se second // define int long long ...
  • "知乎原鏈" 相關問題: "哪些Java庫有中文命名的API?" 且記下隨想. 之前沒有發佈過, 看了SO上的推薦: "Publish a library to maven repositories" 決定在sonatype發佈. sonatype發佈開源軟體庫的 "步驟" 寫的蠻詳細, 不過一些細 ...
  • 1、 "官網" 下載 2、雙擊開始安裝,一直下一步 用舊版的密碼加密 自己寫個密碼,最少8位 3、測試 打開系統偏好設置 4、mysql需要在系統環境變數里 1)在終端輸入 ,沒有指令說明。此時就還不能用命令或者IDE使用資料庫 2)進入存放系統命令的文件夾, 3)類似配置Java的環境變數, 4) ...
  • 一,學習背景 1. 前言 對於我們不管工作還是生活中,需要或者想去學習一些東西的時候,大致都考慮幾點: a) 我們為什麼需要學習這個東西? b) 這個東西是什麼? c) 這個東西能為我們做什麼? d) 如何去學? 結合以上幾點,我們一起學習下Dubbo這個框架! 2. 學習背景 互聯網的發展,網站應 ...
  • 這小節的題目看起來還挺晦澀的, crosstab 是 pandas 的一個函數, 作用還蠻強大的, 一起來看一下吧~~~ 首先還是先引入一個例子文件: 輸出:好, 下麵看一下 crosstab 的功力: 輸出:crosstab 第一個參數是列, 第二個參數是行. 還可以添加第三個參數: 輸出: 同時 ...
  • 首先是一個views函數的例子 def get_user_profiles(request): if request.method == 'POST': myFile = request.FILES.get("filename", None) if myFile: dir = os.path.joi ...
  • 學號 20175223 《Java程式設計》第1周學習總結 教材學習內容總結 第一章要點: 要點1:Java的三大平臺:Java SE,Java EE,Java ME。 要點2:Java的特點:簡單,面向對象,平臺無關,多線程,動態。 要點3:Java程式的開發步驟:編寫源文件,編譯源文件,運行程式 ...
  • 1、 "官網" 下載 2、把下載的文檔解壓,放到合適的路徑下。 3、打開eclipse 4、在Apache文件夾下選擇Tomcat的對應版本 5、選擇剛纔下載的文件 6、可以右鍵Start了 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...