結果
問題 |
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; }