結果
問題 | No.607 開通777年記念 |
ユーザー |
![]() |
提出日時 | 2021-01-14 20:18:32 |
言語 | C (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,641 bytes |
コンパイル時間 | 274 ms |
コンパイル使用メモリ | 33,024 KB |
実行使用メモリ | 9,992 KB |
最終ジャッジ日時 | 2024-11-24 13:23:59 |
合計ジャッジ時間 | 1,351 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 9 WA * 1 |
ソースコード
#pragma GCC optimize("Ofast")#pragma GCC target("avx2")#include <stdio.h>#include <stdlib.h>#include <sys/mman.h>// clang-format off#define RD(v) int v=0;{int _c,sign=0;for(;;){if(*rp=='-'){sign=1;rp++;}else{_c=*rp++-48;if(_c>=0)v=v*10+_c;else break;}}if(sign)v=-v;} //#define RDULL(v) unsigned long long v=0;{int _c;while(_c=*rp++-48,_c>=0)v=v*10+_c;} //#define wt_int(var,buf,ptr) while(var){buf[ptr++]=var%10;var/=10;}while(ptr--)putc_unlocked(buf[ptr]+'0',stdout);// clang-format onint a[1000 * 1000];int b[1001];#define TARGET 777int main() {char *rp = (char *)mmap(0l, 1l << 28, 1, 2, 0, 0ll);RD(n) RD(m);int *ap = a;int nm = n * m;for (int i = 0; i < nm; ++i) {RD(t);*ap++ = t;}// b[n] = 1000000000 + 9;for (int i = 0; i < m; ++i) {for (int j = 0; j < n; ++j) b[j] += a[n * i + j];// for (int j = 0; j < n; ++j) printf("%d ", b[j]);// printf("\n");int left = 0;int sm = 0;for (int right = 0; right < n; ++right) {int s = sm + b[right];// printf("%d %d %d = %d + %d\n", i, right, s, sm, b[right]);if (s >= TARGET) {if (s == TARGET) {printf("YES");exit(0);}if (right == n) break;while (sm + b[right] > TARGET) {sm -= b[left];left++;}sm += b[right];} else {sm += b[right];}}}printf("NO");exit(0);return 0; //}