結果
問題 | No.2537 多重含意 |
ユーザー |
|
提出日時 | 2023-11-10 22:24:02 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 568 bytes |
コンパイル時間 | 3,840 ms |
コンパイル使用メモリ | 257,904 KB |
最終ジャッジ日時 | 2025-02-17 21:01:32 |
ジャッジサーバーID (参考情報) |
judge5 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 10 WA * 14 |
ソースコード
#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;vector<int> v(n+1,-1);rep(i,n){if(mp.count(a.at(i))){if(mp.at(a.at(i))==1){ans+=mint(2).pow(v.at(a.at(i)));}mp.at(a.at(i))++;}else{mp[a.at(i)]++;ans+=mint(2).pow(n-mp.size());v.at(a.at(i))=n-mp.size();}cout<<ans.val()<<"\n";}}