結果
問題 | No.1338 Giant Class |
ユーザー |
|
提出日時 | 2021-01-15 21:51:43 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 272 ms / 2,000 ms |
コード長 | 785 bytes |
コンパイル時間 | 3,603 ms |
コンパイル使用メモリ | 103,668 KB |
最終ジャッジ日時 | 2025-01-17 19:11:32 |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 21 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:26:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 26 | scanf("%d %d", &y, &x); | ~~~~~^~~~~~~~~~~~~~~~~
ソースコード
#include <iostream>#include <algorithm>#include <map>#include <set>#include <queue>#include <stack>#include <numeric>#include <bitset>#include <cmath>static const int MOD = 1000000007;using ll = long long;using u32 = unsigned;using u64 = unsigned long long;using namespace std;template<class T> constexpr T INF = ::numeric_limits<T>::max() / 32 * 15 + 208;int main() {int h, w, q;cin >> h >> w >> q;ll ans = (ll)h*w;map<int, int> m;for (int i = 0; i < q; ++i) {int y, x;scanf("%d %d", &y, &x);y--;if(!m.count(x)){ans -= h-y;m[x] = y;}else {ans -= max(0, m[x]-y);m[x] = min(m[x], y);}printf("%lld\n", ans);}return 0;}