結果
| 問題 | No.489 株に挑戦 |
| コンテスト | |
| ユーザー |
noynote
|
| 提出日時 | 2017-02-25 00:10:59 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,498 bytes |
| コンパイル時間 | 1,703 ms |
| コンパイル使用メモリ | 161,924 KB |
| 実行使用メモリ | 8,704 KB |
| 最終ジャッジ日時 | 2025-01-03 02:06:00 |
| 合計ジャッジ時間 | 3,664 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 14 WA * 21 |
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:61:51: warning: ‘day[1]’ may be used uninitialized [-Wmaybe-uninitialized]
61 | if(dif * k > 0) cout << day[0] << ' ' << day[1] << endl;
| ^
main.cpp:20:9: note: ‘day[1]’ was declared here
20 | int day[2];
| ^~~
ソースコード
#include<bits/stdc++.h>
#define range(i,a,b) for(int i = (a); i < (b); i++)
#define rep(i,b) for(int i = 0; i < (b); i++)
#define all(a) (a).begin(), (a).end()
#define show(x) cerr << #x << " = " << (x) << endl;
#define debug(x) cerr << #x << " = " << (x) << " (L" << __LINE__ << ")" << " " << __FILE__ << endl;
const int INF = 2000000000;
using namespace std;
int main(){
int n, d, k;
int a[100005];
cin >> n >> d >> k;
rep(i,n) cin >> a[i];
d++;
set<pair<int, int>> s;
int i = 0, dif = 0;
int day[2];
rep(i,d){
int temp = a[i] - a[0];
if(temp > dif){
dif = temp;
day[0] = 0;
day[1] = i;
}
}
range(i,n - d,n){
int temp = a[i] - a[n - d];
if(temp > dif){
dif = temp;
day[0] = n - d - 1;
day[1] = i;
}
}
while(i != n){
while(s.size() != d){
s.insert(make_pair(a[i],i));
i++;
}
int temp = (--s.end())->first - a[i - s.size()];
//for(auto it:s){ cout << it.second<< endl; }
//show(s.size()) show( s.begin()->first); show( (--s.end())->first);
if(temp > dif){
dif = temp;
day[0] = i - s.size();
day[1] = (--s.end())->second;
}
//show(a[i - d])
s.erase(s.find(make_pair(a[i - d], i - d)));
}
cout << dif * k << endl;
if(dif * k > 0) cout << day[0] << ' ' << day[1] << endl;
}
noynote