Submission #1556271
Source Code Expand
#pragma region include #include <iostream> #include <iomanip> #include <stdio.h> #include <sstream> #include <algorithm> #include <iterator> #include <cmath> #include <complex> #include <string> #include <cstring> #include <vector> #include <tuple> #include <bitset> #include <queue> #include <complex> #include <set> #include <map> #include <stack> #include <list> #include <fstream> #include <random> //#include <time.h> #include <ctime> #pragma endregion //#include ///////// #define REP(i, x, n) for(int i = x; i < n; ++i) #define rep(i,n) REP(i,0,n) #define ALL(X) X.begin(), X.end() ///////// #pragma region typedef typedef long long LL; typedef long double LD; typedef unsigned long long ULL; typedef std::pair<LL,LL> PLL;// typedef std::pair<int,int> PII;// #pragma endregion //typedef ////定数 const int INF = (int)1e9; const LL MOD = (LL)1e9+7; const LL LINF = (LL)1e18+20; const LD PI = acos(-1.0); const double EPS = 1e-9; ///////// using namespace::std; void solve(){ int N,M,K; cin >> N >> M >> K; vector<LL> A(N+1); A[0] = 0; for(int i=0;i<N;++i){ cin >> A[i+1]; } //p1:[1,N-K+1] vector<LL> now(N+1,0),next(N+1); for(LL k=1;k<=K;++k){//300 //スライド最大値 vector<int> deq(N+1,-1); int s=0; int t=0; for(int i=1;i<=N;++i){ //[max(0,i-M),i-1] //より小さい値なら削除 while(s<t && now[ deq[t-1] ] <= now[i-1] )--t; deq[t++] = i-1;//nowのindex if( i < k ) continue; next[i] = now[ deq[s] ];//先頭がmax next[i] += A[i]*k;//LL*int if( deq[s] == i-M){ //先頭が範囲外になるなら削除 s++; } } now = next; } LL ans = 0; for(int i=K;i<=N;++i){ ans = max(ans,now[i]); } cout << ans << endl; } #pragma region main signed main(void){ std::cin.tie(0); std::ios::sync_with_stdio(false); std::cout << std::fixed;//小数を10進数表示 cout << setprecision(16);//小数点以下の桁数を指定//coutとcerrで別 solve(); } #pragma endregion //main()
Submission Info
Submission Time | |
---|---|
Task | A - Struck Out |
User | akarin55 |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 2077 Byte |
Status | AC |
Exec Time | 396 ms |
Memory | 3064 KB |
Judge Result
Set Name | Sample | subtask1 | subtask2 | subtask3 | All | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | 200 / 200 | 300 / 300 | 100 / 100 | ||||||||||
Status |
|
|
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample_1.txt, sample_2.txt, sample_3.txt |
subtask1 | sample_2.txt, subtask_1_1.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt |
subtask2 | sample_1.txt, sample_2.txt, sample_3.txt, subtask_2_1.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_2_9.txt |
subtask3 | sample_1.txt, sample_2.txt, sample_3.txt, subtask_2_1.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_2_9.txt, subtask_3_1.txt, subtask_3_2.txt, subtask_3_3.txt, subtask_3_4.txt, subtask_3_5.txt, subtask_3_6.txt, subtask_3_7.txt, subtask_3_8.txt, subtask_3_9.txt |
All | sample_1.txt, sample_2.txt, sample_3.txt, sample_1.txt, sample_2.txt, sample_3.txt, subtask_1_1.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt, subtask_2_1.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_2_9.txt, subtask_3_1.txt, subtask_3_2.txt, subtask_3_3.txt, subtask_3_4.txt, subtask_3_5.txt, subtask_3_6.txt, subtask_3_7.txt, subtask_3_8.txt, subtask_3_9.txt, subtask_4_1.txt, subtask_4_10.txt, subtask_4_11.txt, subtask_4_12.txt, subtask_4_13.txt, subtask_4_2.txt, subtask_4_3.txt, subtask_4_4.txt, subtask_4_5.txt, subtask_4_6.txt, subtask_4_7.txt, subtask_4_8.txt, subtask_4_9.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_1.txt | AC | 1 ms | 256 KB |
sample_2.txt | AC | 1 ms | 256 KB |
sample_3.txt | AC | 1 ms | 256 KB |
subtask_1_1.txt | AC | 1 ms | 256 KB |
subtask_1_2.txt | AC | 33 ms | 512 KB |
subtask_1_3.txt | AC | 391 ms | 3064 KB |
subtask_1_4.txt | AC | 3 ms | 384 KB |
subtask_1_5.txt | AC | 18 ms | 3064 KB |
subtask_1_6.txt | AC | 1 ms | 256 KB |
subtask_1_7.txt | AC | 138 ms | 3064 KB |
subtask_1_8.txt | AC | 392 ms | 3064 KB |
subtask_1_9.txt | AC | 2 ms | 256 KB |
subtask_2_1.txt | AC | 1 ms | 256 KB |
subtask_2_2.txt | AC | 1 ms | 256 KB |
subtask_2_3.txt | AC | 1 ms | 256 KB |
subtask_2_4.txt | AC | 1 ms | 256 KB |
subtask_2_5.txt | AC | 1 ms | 256 KB |
subtask_2_6.txt | AC | 1 ms | 256 KB |
subtask_2_7.txt | AC | 1 ms | 256 KB |
subtask_2_8.txt | AC | 1 ms | 256 KB |
subtask_2_9.txt | AC | 1 ms | 256 KB |
subtask_3_1.txt | AC | 49 ms | 3064 KB |
subtask_3_2.txt | AC | 49 ms | 3064 KB |
subtask_3_3.txt | AC | 48 ms | 3064 KB |
subtask_3_4.txt | AC | 40 ms | 2500 KB |
subtask_3_5.txt | AC | 3 ms | 384 KB |
subtask_3_6.txt | AC | 31 ms | 3064 KB |
subtask_3_7.txt | AC | 49 ms | 3064 KB |
subtask_3_8.txt | AC | 5 ms | 512 KB |
subtask_3_9.txt | AC | 50 ms | 3064 KB |
subtask_4_1.txt | AC | 391 ms | 3064 KB |
subtask_4_10.txt | AC | 147 ms | 3064 KB |
subtask_4_11.txt | AC | 373 ms | 3064 KB |
subtask_4_12.txt | AC | 392 ms | 3064 KB |
subtask_4_13.txt | AC | 396 ms | 3064 KB |
subtask_4_2.txt | AC | 394 ms | 3064 KB |
subtask_4_3.txt | AC | 392 ms | 3064 KB |
subtask_4_4.txt | AC | 391 ms | 3064 KB |
subtask_4_5.txt | AC | 333 ms | 3064 KB |
subtask_4_6.txt | AC | 41 ms | 3064 KB |
subtask_4_7.txt | AC | 212 ms | 3064 KB |
subtask_4_8.txt | AC | 387 ms | 2944 KB |
subtask_4_9.txt | AC | 179 ms | 3064 KB |