Submission #00008


ソースコード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#ifndef INCLUDED_MAIN
#define INCLUDED_MAIN
#include __FILE__ // このファイル自体をインクルード
const ll INF = 1LL << 60;
const int inf = 1 << 30;
int dx[] = {1,0,-1,0};
int dy[] = {0,1,0,-1};
//lower_boundは、探索したいkey以上のイテレータを返す
//upper_boundは、探索したいkeyより大きいイテレータを返す
//binary_searchはソートされた配列やvectorの中に、keyがあるかどうかを探索する(返り値はbool値)
void _main(){
int a,b,c,sum=0,cnt=1;
cin>>a>>b>>c;
while(sum<a){
sum+=b;
if(sum>=a)break;
sum-=c;
cnt++;
}
out(cnt);
return;
}
#else // INCLUDED_MAIN
// ↓テンプレート↓
#include<bits/stdc++.h>
using namespace std;
#pragma GCC target("avx")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#define rg register int
#define ll long long
#define st string
#define vint vector<int>
#define vll vector<ll>
#define vst vector<st>
#define dou double
#define total(n) (n)*((n)+1)/2
#define gcd(a,b) __gcd(a,b)
#define endl "\n"
#define rep(i, n) for(int i = 0; i < (n); i++)
#define rep2(i, s, n) for (int i = (s); i < (int)(n); ++i)
#define rrep(i, n) for(int i = (n-1); i >= 0; i--)
#define spep(i,a,b) for(int i=(a);i<(b);i++)
#define sppep(i,a) for(int i=(a);i >= 0;i--)
#define fore(i,a) for(auto &i:a)
#define vpl vector<pair<int,int>>
#define all(A) (A).begin(),(A).end()
#define rall(A) (A).rbegin(),(A).rend()
#define SORT(a) sort(all(a))
#define RSORT(a) sort(rall(a))
#define npm(v) next_permutation(v.begin(), v.end())
#define Yes printf("Yes\n")
#define No printf("No\n")
#define YES printf("YES\n")
#define NO printf("NO\n")
#define sp(n) cout<<std::fixed<<setprecision(13)<<n<<endl
#define sz(x) (int)(x).size()
#define mod 998244353
#define MOD 1000000007
#define mp(a,b) make_pair(a,b)
#define mt(a,b,c) make_tuple(a, b, c);
#define pb push_back
#define po pop_back
#define fi first
#define se second
#define serep(it,a) for(auto it=a.begin();it!=a.end();it++)
#define out(x) cout<<(x)<<endl
#define stout(x) cout<<#x<<endl
#define OUT(x) cout<<(x)
#define db(x) cout<<#x<<' '<<'='<<' '<<x<<endl
#define lcm(a,b) ((a)*(b))/__gcd((a),(b))
#define input(A,N) rep(i,N) cin>>A[i]
#define pq(T) priority_queue<T>
#define pqr(T) priority_queue<T, vector<T>, greater<T>>
#define umh unordered_map<int,int>
#define FIND(v, k) ((v).find(k) != (v).end())
#define VFIND(v, k) (find(all(v), k) != (v).end())
#define perm(c) sort(all(c));next_permutation(all(c))
#define pcnt(n) __builtin_popcount(n)
#define UNIQUE(v) v.erase( unique(v.begin(), v.end()), v.end() );
#define debug(arg) print(#arg, arg)
void yn(bool a) {(a ? printf("yes\n") : printf("no\n"));}
void Yn(bool a) {(a ? printf("Yes\n") : printf("No\n"));}
void YN(bool a) {(a ? printf("YES\n") : printf("NO\n"));}
int digit_sum(int n){//桁和
if(n < 10) return n;
return digit_sum(n/10) + n%10;
}
template <class x> x rng_total(x l, x r) { // l ~ rまでの数の総和
return((l + r) * (r - l + 1) / 2);
}
template <class x> x rng_combi(x n, x r) { //「n個の物からr個取った組み合わせ数」
long long numerator = 1, denominator = 1;
x rng = r;
for (x i = 0; i < rng; i++) {
numerator *= n;
n--;
denominator *= r;
r--;
}
return(numerator / denominator);
}
//aをbで割る時の繰上げ,繰り下げ
int myceil(int a,int b){return (a+(b-1))/b;}
int myfloor(int a,int b){return a/b;}
inline int rd(){
int w = 1,x = 0;char c= getchar();
while(c < '0' || c > '9'){if(c =='-')w = -1;c = getchar();}
while(c >= '0' && c <= '9'){x = (x << 1) + (x << 3) + (c ^ 48);c = getchar();}
return w * x;
}
void _main(); int main() { cin.tie(nullptr); ios::sync_with_stdio(false); _main(); }
template<class T>bool chmax(T &a, const T &b) { if (a<b) { a = b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a = b; return 1; } return 0; }
template <int INDEX1, int INDEX2>//tuple_swap<0, 2>(x); // 1番目と3番目を交換
void tuple_swap(tuple<int, int, int> &x) {
swap(get<INDEX1>(x), get<INDEX2>(x));
}
template <typename T> inline void print(string a,const vector<T>& v, string s = " ")
{cout <<a<<"[]"<<" = {";rep(i, v.size()) cout<< v[i] << (i != (ll)v.size() - 1 ? s : "}\n");}
template <typename T, typename S> inline void print(const pair<T, S>& p)
{cout << '('<<p.first << ", " << p.second << ')'<<endl;}
template <typename T> inline void print(string s,const T& x) {cout << s << " = " << x << "\n";}
template <typename T, typename S> inline void print(string s,const vector<pair<T, S>>& v)
{int cnt=0;for (auto&& p : v){cout<<s<<'['<<cnt<<']'<<" = ";print(p);cnt++;}}
// ↑テンプレート↑
#endif // INCLUDED_MAIN

ステータス

項目 データ
問題 0004 - パンケーキの水やり
ユーザー名 ei2124
投稿日時 2022-11-15 22:16:23
言語 C++17
状態 Accepted
得点 1
ソースコード長 5314 Byte
最大実行時間 30 ms
最大メモリ使用量 564 KB

セット

セット 得点 Cases
1 ALL 1 / 1 *

テストケース

ファイル名 状態 実行時間 メモリ使用量 #
input01.txt AC 30 ms 476 KB
1
input02.txt AC 23 ms 564 KB
1
input03.txt AC 29 ms 516 KB
1
input04.txt AC 25 ms 468 KB
1
input05.txt AC 24 ms 548 KB
1