結果

問題 No.142 単なる配列の操作に関する実装問題
ユーザー 沙耶花
提出日時 2021-10-28 08:18:59
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 1,486 ms / 5,000 ms
コード長 1,205 bytes
コンパイル時間 4,599 ms
コンパイル使用メモリ 253,204 KB
最終ジャッジ日時 2025-01-25 08:00:35
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 5
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:37:22: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   37 |                 scanf("%d %d %d %d",&s,&t,&u,&hoge);
      |                 ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ソースコード

diff #
プレゼンテーションモードにする

#include <stdio.h>
#include <bits/stdc++.h>
#include <atcoder/all>
using namespace atcoder;
using mint = modint1000000007;
using namespace std;
#define rep(i,n) for (int i = 0; i < (n); ++i)
#define Inf 1000000000000000000
unsigned long long temp[2000];
int main(){
long long N,S,X,Y,Z;
cin>>N>>S>>X>>Y>>Z;
vector<long long> a(N);
a[0] = S;
rep(i,N-1){
a[i+1] = X * a[i] + Y;
a[i+1] %= Z;
}
int sz = (N+63)/64;
vector<unsigned long long> v(sz,0);
rep(i,N){
if(a[i]%2==1){
v[i/64] |= 1ULL<<(i%64);
}
}
v.push_back(0);
int Q;
cin>>Q;
rep(_,Q){
int s,t,u,hoge;
scanf("%d %d %d %d",&s,&t,&u,&hoge);
s--;t--;u--;hoge--;
int len = t-s+1;
rep(i,(len+63)/64)temp[i] = 0;
rep(i,len/64){
temp[i] = (v[s/64 + i]>>(s%64));
if(s%64!=0)temp[i] ^= (v[s/64+1 + i]<<(64-s%64));
}
rep(i,len%64){
int ind = s + len/64 * 64 + i;
if((v[ind/64]>>(ind%64))&1)temp[len/64] |= 1ULL<<i;
}
rep(i,(len+63)/64){
//cout<<(bitset<64>)temp[i]<<endl;
v[u/64 + i] ^= temp[i]<<(u%64);
if(u%64!=0)v[u/64 + i + 1] ^= temp[i]>>(64-u%64);
}
}
rep(i,N){
int b = (v[i/64]>>(i%64))&1;
if(b==0)printf("E");
else printf("O");
}
cout<<endl;
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0