結果
問題 | No.1765 While Shining |
ユーザー |
![]() |
提出日時 | 2021-12-27 00:08:35 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 35 ms / 2,000 ms |
コード長 | 515 bytes |
コンパイル時間 | 1,810 ms |
コンパイル使用メモリ | 167,524 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-24 13:57:09 |
合計ジャッジ時間 | 3,464 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 22 |
コンパイルメッセージ
main.cpp: In function 'int main()': main.cpp:18:9: warning: 'count' may be used uninitialized [-Wmaybe-uninitialized] 18 | ++count; | ^~~~~~~ main.cpp:4:11: note: 'count' was declared here 4 | int N,count; | ^~~~~
ソースコード
#include <bits/stdc++.h> using namespace std; int main(){ int N,count; long long ans=0; cin>>N; if(N==1){ cout<<0<<endl; return 0; } int A[N],B[N]; for(int i=0;i<N;++i){ cin>>A[i]; A[i]^=i%2; } A[N-1]=!A[N-2]; for(int i=N-2;i>=0;--i){ ++count; if(A[i]!=A[i+1]){ count=1; } B[i]=count; } for(int i=0;i<N-1;++i){ if(A[i]^(i%2)){ ans+=B[i]; } } cout<<ans<<endl; }