#include #include #include #include #include #include #include using namespace std; /* 正解してたら匿名でも問題投稿ができる(実現度さらにアップ)!!! 答えが合わない、テストケースが知りたい・・・・・ */ long long n,d,t,x[101]; int solve(){ scanf("%lld%lld%lld",&n,&d,&t); map mp; vector ps; for(int i=0;i=diff[i]-t*d){ ans+=inc-((mp[diff[i]%d]-(diff[i]-t*d))/d+1); mp[diff[i]%d]=diff[i]+t*d; } else ans+=inc; } } printf("%lld\n",ans); } int main(){ solve(); //return 0; // long long n,d,t;scanf("%lld%lld%lld",&n,&d,&t); map mp; for(int i=0;i::iterator it; map nmp; while(t--){ for(it=mp.begin();it!=mp.end();it++){ next=it->first+d; prev=it->first-d; nmp[next]++; nmp[prev]++; nmp[it->first]++; } mp=nmp; } long long ans=0; for(it=mp.begin();it!=mp.end();it++){ if(it->second)ans++; } printf("%lld\n",ans); return 0; }