結果
問題 | No.77 レンガのピラミッド |
ユーザー |
![]() |
提出日時 | 2015-08-13 02:19:26 |
言語 | C++11 (gcc 13.3.0) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 897 bytes |
コンパイル時間 | 520 ms |
コンパイル使用メモリ | 51,236 KB |
最終ジャッジ日時 | 2024-11-14 19:08:30 |
合計ジャッジ時間 | 1,238 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
main.cpp: In function ‘int main(int, char**)’: main.cpp:16:26: error: ‘sqrt’ was not declared in this scope 16 | int max_n = (int)sqrt(sum); | ^~~~
ソースコード
#include <iostream>#include <algorithm>#include <numeric>using namespace std;int main(int argc, char *argv[]){int N, A[201] = {};cin >> N;for (int i = 0; i < N; ++i) {cin >> A[i];}int ans = 1 << 30;int sum = accumulate(A, A + N, 0);int max_n = (int)sqrt(sum);for (int len = 1; len <= max_n; ++len) {int in = 0;int out = accumulate(A + len * 2 - 1, A + 201, 0);for (int j = 0; j < len - 1; ++j) {int a = A[j], b = A[len * 2 - 2 - j];int d = j + 1 - a;if (d > 0) {in += d;} else {out -= d;}d = j + 1 - b;if (d > 0) {in += d;} else {out -= d;}}int d = len - A[len - 1];if (d > 0) {in += d;} else {out -= d;}if (len == 50) {int i = 0;++i;}if (len == 51) {int i = 0;++i;}in -= min(in, out);ans = min(ans, in + out);}cout << ans << endl;return 0;}