結果
問題 | No.831 都市めぐり |
ユーザー |
![]() |
提出日時 | 2019-05-24 21:59:51 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 45 ms / 2,000 ms |
コード長 | 1,352 bytes |
コンパイル時間 | 1,253 ms |
コンパイル使用メモリ | 166,788 KB |
実行使用メモリ | 35,068 KB |
最終ジャッジ日時 | 2024-09-17 10:39:40 |
合計ジャッジ時間 | 2,044 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge6 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
ソースコード
#include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> pii; typedef pair<pii,int> ppii; typedef pair<int,pii> pipi; typedef pair<ll,ll> pll; typedef pair<ll,pll> plpl; typedef tuple<ll,ll,ll> tl; ll mod=1000000007; ll mod2=998244353; ll inf=1000000000000000000; #define rep(i,m,n) for(int i=m;i<n;i++) #define rrep(i,n,m) for(int i=n;i>=m;i--) ll lmax(ll a,ll b){ if(a<b)return b; else return a; } ll lmin(ll a,ll b){ if(a<b)return a; else return b; } int main(){ ll n;cin>>n; if(n==1){ cout<<0<<endl; return 0; } deque<ll> ans; ans.push_back(1); vector<ll> v,w; rep(i,2,n+1)v.push_back(i); //cout<<v[0]<<w[0]<<endl; ll nv=n-2; rep(i,0,n-1){ if(i%4==0){ ans.push_front(v[nv]); nv--; } if(i%4==1){ ans.push_back(v[nv]); nv=(i-1)/2; } if(i%4==2){ ans.push_front(v[nv]); nv++; } if(i%4==3){ ans.push_back(v[nv]); nv=n-2-(i+1)/2; } // cout<<nv<<endl; } ll sum=0; //rep(i,0,n)cout<<ans[i]<<" "; rep(i,0,n-1)sum+=ans[i]*ans[i+1]+ans[i+1]-ans[i]; sum+=ans[0]*ans[n-1]+ans[0]-ans[n-1]; cout<<sum<<endl; }