質問編集履歴

3

正答例

2020/06/09 11:22

投稿

kaby-lake
kaby-lake

スコア8

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- https://www.hackerrank.com/contests/01022343222/challenges/1-247/problem
3
+ [Hckerrankの問題](https://www.hackerrank.com/contests/01022343222/challenges/1-247/problem)
4
4
 
5
5
  この問題がセグメンテーションエラーとWAが出てしまいます。
6
6
 
@@ -22,7 +22,7 @@
22
22
 
23
23
 
24
24
 
25
- ### 該当のソースコード
25
+ ### 該当のソースコード(不正解)
26
26
 
27
27
 
28
28
 
@@ -166,6 +166,142 @@
166
166
 
167
167
  ### 補足情報(FW/ツールのバージョンなど)
168
168
 
169
- gcc
169
+ gcc(g++コマンド)
170
170
 
171
171
  ここにより詳細な情報を記載してください。
172
+
173
+
174
+
175
+ #解決しました。
176
+
177
+ - Cの魔法のコストがCkではなくCということに気づきませんでした。
178
+
179
+ - セグメンテーションエラーに関しては使われていない配列があったからだと思います。
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+ ```c++
188
+
189
+ #include <iostream>
190
+
191
+ using namespace std;
192
+
193
+
194
+
195
+ int main()
196
+
197
+ {
198
+
199
+ int N, C, D;
200
+
201
+ cin >> N >> C >> D;
202
+
203
+
204
+
205
+ int A[N], B[N];
206
+
207
+
208
+
209
+ for (int i = 0; i < N; i++)
210
+
211
+ {
212
+
213
+ cin >> A[i];
214
+
215
+ }
216
+
217
+ for (int i = 0; i < N; i++)
218
+
219
+ {
220
+
221
+ cin >> B[i];
222
+
223
+ }
224
+
225
+
226
+
227
+ int summp = 0;
228
+
229
+ int dif = 0;
230
+
231
+
232
+
233
+ for (int i = 0; i < N; i++)
234
+
235
+ {
236
+
237
+
238
+
239
+ if (A[i] != B[i])
240
+
241
+ {
242
+
243
+ dif = B[i] - A[i];
244
+
245
+
246
+
247
+ if (dif < 0)
248
+
249
+ {
250
+
251
+ dif = -dif;
252
+
253
+ }
254
+
255
+
256
+
257
+ if (dif % 5 != 0)
258
+
259
+ {
260
+
261
+ summp += dif * D;
262
+
263
+ }
264
+
265
+
266
+
267
+ if (dif % 5 == 0)
268
+
269
+ {
270
+
271
+ if (C <= dif * D)
272
+
273
+ {
274
+
275
+ summp += C;
276
+
277
+ }
278
+
279
+ else
280
+
281
+ {
282
+
283
+ summp += (D * dif);
284
+
285
+ }
286
+
287
+ }
288
+
289
+ }
290
+
291
+ }
292
+
293
+
294
+
295
+ cout << summp << endl;
296
+
297
+
298
+
299
+ return 0;
300
+
301
+ }
302
+
303
+
304
+
305
+ ```
306
+
307
+ **ご協力いただいた皆様ありがとうございました。**

2

src

2020/06/09 11:22

投稿

kaby-lake
kaby-lake

スコア8

test CHANGED
File without changes
test CHANGED
@@ -14,15 +14,19 @@
14
14
 
15
15
  どのような入力でエラー・WAになってしまうか教えていただいきたいです
16
16
 
17
- ```
17
+
18
18
 
19
19
  セグメンテーションエラー,Wrong Eroor
20
20
 
21
- ```
21
+
22
22
 
23
23
 
24
24
 
25
25
  ### 該当のソースコード
26
+
27
+
28
+
29
+ ```c++
26
30
 
27
31
  #include <iostream>
28
32
 
@@ -148,9 +152,7 @@
148
152
 
149
153
  }
150
154
 
151
-
155
+ ```
152
-
153
-
154
156
 
155
157
 
156
158
 

1

コメント追加

2020/06/05 13:47

投稿

kaby-lake
kaby-lake

スコア8

test CHANGED
File without changes
test CHANGED
@@ -3,6 +3,8 @@
3
3
  https://www.hackerrank.com/contests/01022343222/challenges/1-247/problem
4
4
 
5
5
  この問題がセグメンテーションエラーとWAが出てしまいます。
6
+
7
+ 1<N<30は制約の一つです。
6
8
 
7
9
 
8
10
 
@@ -60,15 +62,15 @@
60
62
 
61
63
 
62
64
 
63
- int summp = 0;
65
+ int summp = 0; //mpの和
64
66
 
65
- int dif = 0;
67
+ int dif = 0; //りんごの差
66
68
 
67
69
  int S = 0;
68
70
 
69
71
 
70
72
 
71
- if (C >= (5 * D))
73
+ if (C >= (5 * D)) //条件に当てはまるならすべてDの魔法
72
74
 
73
75
  {
74
76
 
@@ -92,7 +94,7 @@
92
94
 
93
95
 
94
96
 
95
- if (dif < 0)
97
+ if (dif < 0)
96
98
 
97
99
  {
98
100