AtCoder Beginner Contest #031
問題文
高橋くんは毎週 $L$ 分以上 $H$ 分以下運動をすることになっている.
過去 $N$ 週分,その週に実際に運動した時間 $A_1,A_2,\ldots,A_N$ が与えられる.
各週について,運動をしすぎているなら $-1$ を,そうでないなら,何分間運動が足りていなかったか(足りているなら $0$)を求める問題.
条件分岐しながら計算する.
時間計算量 $O(N)$.
#include<bits/stdc++.h>
using namespace std;
#define mygc(c) (c)=getchar_unlocked()
#define mypc(c) putchar_unlocked(c)
void reader(int *x){int k,m=0;*x=0;for(;;){mygc(k);if(k=='-'){m=1;break;}if('0'<=k&&k<='9'){*x=k-'0';break;}}for(;;){mygc(k);if(k<'0'||k>'9')break;*x=(*x)*10+k-'0';}if(m)(*x)=-(*x);}
template <class T, class S, class U> void reader(T *x, S *y, U *z){reader(x);reader(y);reader(z);}
void writer(int x, char c){int s=0,m=0;char f[10];if(x<0)m=1,x=-x;while(x)f[s++]=x%10,x/=10;if(!s)f[s++]=0;if(m)mypc('-');while(s--)mypc(f[s]+'0');mypc(c);}
template<class T> void writerLn(T x){writer(x,'\n');}
int main(){
int i, res;
int L, H, N;
reader(&L,&H,&N);
while(N--){
reader(&i);
res = 0;
if(i > H) res = -1;
else if(i < L) res = L - i;
writerLn(res);
}
return 0;
}
Current time: 2024年04月27日08時19分36秒
Last modified: 2015年11月22日07時51分14秒 (by laycrs)
Tags: Competitive_Programming AtCoder AtCoder_Beginner_Contest ABC031 ABC_B
トップページに戻る
Logged in as: unknown user (not login)