結果
問題 | No.77 レンガのピラミッド |
ユーザー |
|
提出日時 | 2017-06-20 07:49:04 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 804 bytes |
コンパイル時間 | 789 ms |
コンパイル使用メモリ | 85,812 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-02 08:03:36 |
合計ジャッジ時間 | 1,666 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 20 |
ソースコード
#define _USE_MATH_DEFINES #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string> #include<iostream> #include<cctype> #include<cstdio> #include<vector> #include<stack> #include<queue> #include <algorithm> #include<math.h> #include<set> #include<map> #include <sstream> #include<iomanip> //#include<bits/stdc++.h> using namespace std; int main() { int n; int a = 4; cin >> n; int b = 0; vector<int>t; for (int i = 0; i < n; i++) { int x; cin >> x; t.push_back(x); b += x; } int x = 2; while (b >= a+2*x+1) { a += 2 * x + 1; x++; } int s = 0,d=0; int y = 0; for (int i = 0; i < min(2*x-1,n); i++) { if (i > x - 1)y--; else y++; if (t[i] > y)s += t[i] - y; d += t[i]; // cout << s << " "<<y << endl; } s += b - d; cout << s << endl; return 0; }