結果

問題 No.33 アメーバがたくさん
ユーザー 184
提出日時 2014-10-03 04:26:52
言語 C++11
(gcc 13.3.0)
結果
RE  
実行時間 -
コード長 1,472 bytes
コンパイル時間 801 ms
コンパイル使用メモリ 78,832 KB
実行使用メモリ 6,948 KB
最終ジャッジ日時 2024-09-24 09:52:53
合計ジャッジ時間 2,787 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other RE * 11
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘int solve()’:
main.cpp:50:1: warning: no return statement in function returning non-void [-Wreturn-type]
   50 | }
      | ^
main.cpp:18:30: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   18 |         long long n,d,t;scanf("%lld%lld%lld",&n,&d,&t);
      |                         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
main.cpp:23:22: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   23 |                 scanf("%lld",&x);
      |                 ~~~~~^~~~~~~~~~~

ソースコード

diff #
プレゼンテーションモードにする

#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <iostream>
#include <map>
#include <vector>
#include <queue>
using namespace std;
/*
稿()
*/
int solve(){
long long n,d,t;scanf("%lld%lld%lld",&n,&d,&t);
map<long long,long long> mp;
vector<long long> ps;
for(int i=0;i<n;i++){
long long x;
scanf("%lld",&x);
ps.push_back(x);
}
sort(ps.begin(),ps.end());
long long diff[101];
long long inc=1+t+t;
mp[0]=t*d;
long long ans=1+t+t;
for(int i=1;i<n;i++){
diff[i]=ps[i]-ps[0];
if(mp[diff[i]%d]==0){
mp[diff[i]%d]=diff[i]+t*d;
ans+=inc;
}
else{
if(mp[diff[i]%d]>=diff[i]-t*d){
ans+=inc-((mp[diff[i]%d]-(diff[i]-t*d))/d+1);
}
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<long long,int> mp;
for(int i=0;i<n;i++){
long long x;
scanf("%lld",&x);
mp[x]++;
}
long long next,prev;
map<long long,int>::iterator it;
map<long long,int> 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;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0