結果
問題 | No.16 累乗の加算 |
ユーザー |
![]() |
提出日時 | 2021-10-18 17:07:25 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 935 bytes |
コンパイル時間 | 4,314 ms |
コンパイル使用メモリ | 249,440 KB |
最終ジャッジ日時 | 2025-01-25 01:49:14 |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 14 |
ソースコード
#include <bits/stdc++.h>using namespace std;#if __has_include(<atcoder/all>)#include <atcoder/all>using namespace atcoder;using mint = modint998244353;#endifusing ll = long long;using ld = long double;const ll INF = 1ll<<60;const ld EPS = 1.0/1e9;#define endl "\n"#define rep(i,a,b) for(int i=a;i<b;i++)#define rrep(i,a,b) for(int i=a;i>=b;i--)#define fore(i,a) for(auto &i:a)#define all(x) (x).begin(),(x).end()#define del(x) sort(all(x)); x.erase(unique(all(x)),x.end());ll pw[40];ll pw_md(ll x){ll res=1;ll cnt=0;while(x){if(x%2==1){res*=(pw[cnt+1]);res%=1000003;}cnt++;x/=2;}return res;}int main(){ios_base::sync_with_stdio(0);cin.tie(0);ll x,n; cin >> x >> n;pw[0]=1;pw[1]=x;rep(i,1,39){pw[i+1]=(pw[i]*pw[i])%1000003;}ll ans=0;rep(i,0,n){ll a; cin >> a;ans+=pw_md(a);ans%=1000003;}cout << ans << endl;}