結果
問題 | No.489 株に挑戦 |
ユーザー |
![]() |
提出日時 | 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;}