結果
問題 | No.2941 Sigma Music Game Score Problem |
ユーザー |
![]() |
提出日時 | 2024-09-12 21:35:38 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
RE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 2,530 bytes |
コンパイル時間 | 8,054 ms |
コンパイル使用メモリ | 339,080 KB |
実行使用メモリ | 14,368 KB |
最終ジャッジ日時 | 2024-09-16 23:18:11 |
合計ジャッジ時間 | 11,945 ms |
ジャッジサーバーID (参考情報) |
judge6 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 RE * 1 |
other | AC * 7 RE * 22 |
ソースコード
#include <bits/stdc++.h>#include <atcoder/all>#pragma GCC target ("avx")#pragma GCC optimize("O3")#pragma GCC optimize("unroll-loops")#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")using namespace std;using namespace atcoder;using ll=long long;#define rep(i,a,b) for(it i=(it)(a);i<=(it)b;i++)#define nrep(i,a,b) for(it i=(it)(a);i>=(it)b;i--)#define all(v) v.begin(), v.end()#define rall(v) v.rbegin(), v.rend()#define moda 998244353LL#define modb 1000000007LL#define gyaku 166374059LL#define dai 2500000000000000000LL#define aoi 1e+18#define tyu 2500000000#define giri 1000000000#define en 3.14159265358979#define endl '\n'#define sho -dai#define eps 1e-14#define yn(x) cout<<(x ? "Yes\n":"No\n");#define YN(x) cout<<(x ? "YES\n":"NO\n");#define cou(x) cout<<x<<endl;#define ci(x) cin>>x;using it=long long;using un=unsigned long long;using db=long double;using st=string;using ch=char;using bo=bool;using P=pair<it,it>;using ip=pair<int,int>;using mint=modint;using mints=modint998244353;using minto=modint1000000007;using vi=vector<it>;using ivi=vector<int>;using vd=vector<db>;using vs=vector<st>;using vc=vector<ch>;using vb=vector<bo>;using vp=vector<P>;using ivp=vector<ip>;using vm=vector<mint>;using vms=vector<mints>;using vmo=vector<minto>;using sp=set<P>;using isp=set<ip>;using ss=set<st>;using sc=set<ch>;using si=set<it>;using isi=set<int>;using svi=set<vi>;using vvi=vector<vi>;using ivvi=vector<ivi>;using vvd=vector<vd>;using vvs=vector<vs>;using vvb=vector<vb>;using vvc=vector<vc>;using vvp=vector<vp>;using ivvp=vector<ivp>;using vvm=vector<vm>;using vvms=vector<vms>;using vvmo=vector<vmo>;using vsi=vector<si>;using ivsi=vector<isi>;using vsp=vector<sp>;using ivsp=vector<isp>;using vvsi=vector<vsi>;using ivvsi=vector<ivsi>;using vvsp=vector<vsp>;using ivvsp=vector<ivsp>;using vvvi=vector<vvi>;using ivvvi=vector<ivvi>;using vvvd=vector<vvd>;using vvvm=vector<vvm>;using vvvvi=vector<vvvi>;using ivvvvi=vector<ivvvi>;int main(){it m,n;cin>>m>>n;assert(2<=m&&m<=1000000000LL);assert(max(2LL,n/10000)<=n&&n<=min(1000000LL,m));vi x(n);rep(i,0,n-1)cin>>x[i];rep(i,0,n-2)assert(1<=x[i+1]-x[i]&&x[i+1]-x[i]<=100000);assert(1<=x[0]&&x[0]<=100000&&m-100000<x[n-1]&&x[n-1]<=m);vms memo(100001);rep(i,1,100000)memo[i]=memo[i-1]+i*i;x.insert(x.begin(),0LL);x.push_back(m+1);mints sum=0;rep(i,0,n)sum+=memo[x[i+1]-x[i]-1];cout<<sum.val()<<endl;}