結果
問題 | No.2537 多重含意 |
ユーザー |
|
提出日時 | 2023-11-10 22:34:40 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
RE
|
実行時間 | - |
コード長 | 507 bytes |
コンパイル時間 | 4,425 ms |
コンパイル使用メモリ | 255,464 KB |
最終ジャッジ日時 | 2025-02-17 21:10:46 |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 11 RE * 13 |
ソースコード
#include <bits/stdc++.h>#include <atcoder/all>using namespace std;using ll = long long;#define rep(i,n) for(int i=0;i<(int)(n);i++)using mint = atcoder::modint;int main(){int n,b;cin>>n>>b;vector<int> a(n);rep(i,n) cin>>a.at(i);mint::set_mod(b);mint ans=0;map<int,int> mp;rep(i,n){mp[a.at(i)]++;if(mp.at(a.at(i))<=1) ans+=mint(2).pow(n-mp.size());else if(mp.at(a.at(i)<=2)){cout<<(ans+mint(2).pow(n-mp.size())).val()<<"\n";continue;}cout<<ans.val()<<"\n";}}