結果

問題 No.561 東京と京都
ユーザー Gv5g3Dh4RBym352Gv5g3Dh4RBym352
提出日時 2018-10-28 00:54:27
言語 C++11
(gcc 11.4.0)
結果
WA  
実行時間 -
コード長 2,484 bytes
コンパイル時間 1,370 ms
コンパイル使用メモリ 161,292 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-04-29 22:19:19
合計ジャッジ時間 2,183 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 WA -
testcase_01 AC 1 ms
5,376 KB
testcase_02 AC 2 ms
5,376 KB
testcase_03 AC 2 ms
5,376 KB
testcase_04 WA -
testcase_05 AC 2 ms
5,376 KB
testcase_06 AC 2 ms
5,376 KB
testcase_07 AC 2 ms
5,376 KB
testcase_08 AC 2 ms
5,376 KB
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
testcase_12 AC 1 ms
5,376 KB
testcase_13 WA -
testcase_14 AC 1 ms
5,376 KB
testcase_15 WA -
testcase_16 WA -
testcase_17 WA -
testcase_18 WA -
testcase_19 WA -
testcase_20 WA -
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘long long int gcd(long long int, long long int)’:
main.cpp:37:55: warning: control reaches end of non-void function [-Wreturn-type]
   37 | ll gcd(ll a,ll b){if(a<b)swap(a,b);if(a%b==0)ret b;gcd(b,a%b);}
      |                                                    ~~~^~~~~~~

ソースコード

diff #

#include<bits/stdc++.h>
#define ll long long
#define r(i,n) for(ll i=0;i<n;i++)
#define rp(i,a,b) for(ll i=a;i<b;i++)
#define ret return
#define rt ret
#define db double
#define p(x) cout<<(x)<<endl;
#define ce continue;
#define bl bool
#define r0 ret 0;
#define r1 ret 1;
#define elif else if
#define bk break;
#define A p("A")//roll call:点呼.
#define B p("B")
#define C p("C")
#define D p("D")
#define E p("E")
#define Sort(a) sort(a.begin(),a.end());
#define Reverse(a) reverse(a.begin(),a.end());
#define cn cin
#define n(a) a.size();
#define els else
#define vc vector
#define vd void
using namespace std;
void Justice(int g){if(g)p("YES")else p("NO")rt;}
void justice(int g){if(g)p("Yes")else p("No")rt;}
ll pow_mod(ll n,ll k,ll m){if(!k)r1 if((k%2))//戻値は(n^k)mod m;
rt (pow_mod(n,k-1,m)*(n%m))%m;if(!(k%2)){//戻値は(n^k)mod m;
ll t=pow_mod(n,k/2,m);rt (t*t)%m;}
r0
}//戻値は(n^k)mod m;
ll power(ll k){ll t=1;r(i,k+1)t*=2;ret t;}//この関数は2のk乗を返す.
ll comb(ll i,ll j){ll up=1;for(ll n=i;n>i-j;n--){up*=n;}ll down=1;for(ll r=j;r>=1;r--)down*=r;ret up/(down);}//nCr.
ll gcd(ll a,ll b){if(a<b)swap(a,b);if(a%b==0)ret b;gcd(b,a%b);}
//set<ll>uuu;
//void prime(){bool x[(ll)1e6];memset(x,0,sizeof(x));rp(i,2,1e6)if(!x[i])for(ll j=i+i;j<(ll)1e6;j+=j)x[j]=1;vector<ll>sosu;ll t;rp(i,2,1e6)if(!x[i])sosu.push_back(i);rp(i,2,(ll)1e6){if(!x[i])uuu.insert(i);}ret;}
//ll ispn(ll k){if(uuu.find(k)!=uuu.end())ret 1;ret 0;}//素数判定.動作不良の可能性大.
//bl ispn2(ll k){if(k==1)rt 0;if(k==2||k==3)rt 1;rp(i,2,(ll)sqrt((db)k)+1)if(k%i==0)rt 0;rt 1;}
ll AmountOfDigits(ll k){ll t=0;while(k){t+=k%10;k/=10;}rt t;}
char moji[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
char moji2[26]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
char moji3[10]={'0','1','2','3','4','5','6','7','8','9'};
//srand((unsigned int)time(NULL));
const ll INF=(ll)1e18;
const ll MAX=(ll)1e5+10;
const ll NIL=-1;
typedef pair<ll,ll> P;
struct Node{ll p,l,r;};
Node T[(ll)1e5+10];
typedef struct edge{ll to,cost;}EDGE;
int main(){
	while(1){
ll n,d;
cin>>n>>d;
vector<ll>t(n+2,0),k(n+2,0);
rp(i,1,n+1){
cin>>t[i]>>k[i];
}
vector<ll>dp(n+1,0);
dp[0]=0;
ll tokyo=1;
rp(i,1,n+1){
	if(tokyo){
		dp[i]=max(t[i],k[i]-d)+dp[i-1];
		if(t[i]<(k[i]-d))tokyo=0;
		ce
	}
	dp[i]=max(k[i],t[i]-d)+dp[i-1];
	if(k[i]<(t[i]-d))tokyo=1;
}
p(dp[n])


		r0
	}
}






0