Submission #00101


ソースコード

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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
import java.io.*;
import java.util.*;
import java.util.function.*;
import java.util.stream.*;
public class Main{
static FastScanner s=new FastScanner(System.in);
void solve(){
int mh=gInt();
gInt();
int h=gInt(),w=gInt();
int[] v=new int[w];
for(int q=0;q<h;++q){
var a=s.next();
for(int j=0;j<w;++j)
if(a.charAt(j)=='#')
++v[j];
}
int res=0;
for(int j=0;j<w;++j){
res+=Math.min(mh,v[j]);
}
System.out.println(res);
}
public static void main(String[] $){
new Main().solve();
}
int gInt(){
return s.nextInt();
}
long gLong(){
return s.nextLong();
}
double gDouble(){
return Double.parseDouble(s.next());
}
SupplyingIterator<Integer> ints(int n){
return new SupplyingIterator<>(n,this::gInt);
}
SupplyingIterator<Long> longs(int n){
return new SupplyingIterator<>(n,this::gLong);
}
SupplyingIterator<Double> doubles(int n){
return new SupplyingIterator<>(n,this::gDouble);
}
SupplyingIterator<String> strs(int n){
return new SupplyingIterator<>(n,s::next);
}
Range rep(int i){
return Range.rep(i);
}
Range rep(int f,int t,int d){
return Range.rep(f,t,d);
}
Range rep(int f,int t){
return rep(f,t,1);
}
Range rrep(int f,int t){
return rep(t,f,-1);
}
IntStream INTS(int n){
return IntStream.generate(this::gInt).limit(n);
}
Stream<String> STRS(int n){
return Stream.generate(s::next).limit(n);
}
}
class FastScanner{
private final BufferedInputStream in;
private static final int bufSize=1<<16;
private final byte buf[]=new byte[bufSize];
private int i=bufSize,k=bufSize;
private final StringBuilder str=new StringBuilder();
FastScanner(InputStream in){
this.in=new BufferedInputStream(in,bufSize);
}
int nextInt(){
return (int)nextLong();
}
long nextLong(){
int c;
long x=0;
boolean sign=true;
while((c=nextChar())<=32)
;
if(c=='-'){
sign=false;
c=nextChar();
}
if(c=='+'){
c=nextChar();
}
while(c>='0'){
x=x*10+(c-'0');
c=nextChar();
}
return sign?x:-x;
}
private int nextChar(){
if(i==k){
try{
k=in.read(buf,i=0,bufSize);
}catch(IOException e){
System.exit(-1);
}
}
return i>=k?-1:buf[i++];
}
String next(){
int c;
str.setLength(0);
while((c=nextChar())<=32&&c!=-1)
;
if(c==-1)
return null;
while(c>32){
str.append((char)c);
c=nextChar();
}
return str.toString();
}
String nextLine(){
int c;
str.setLength(0);
while((c=nextChar())<=32&&c!=-1)
;
if(c==-1)
return null;
while(c!='\n'){
str.append((char)c);
c=nextChar();
}
return str.toString();
}
}
class SupplyingIterator<T> implements Iterable<T>,Iterator<T>{
private int remain;
Supplier<T> supplier;
SupplyingIterator(int t,Supplier<T> supplier){
this.remain=t;
this.supplier=supplier;
}
@Override
public Iterator<T> iterator(){
return this;
}
@Override
public boolean hasNext(){
return remain>0;
}
@Override
public T next(){
--remain;
return supplier.get();
}
}
class Range implements Iterable<Integer>,PrimitiveIterator.OfInt{
public final int from,to,d;
private int cur;
Range(int from,int to,int d){
this.from=from;
this.cur=from-d;
this.to=to;
this.d=d;
}
Range(int n){
this(0,n-1,1);
}
@Override
public Iterator<Integer> iterator(){
return this;
}
@Override
public boolean hasNext(){
return cur+d==to||(cur!=to&&(cur<to==cur+d<to));
}
@Override
public int nextInt(){
return cur+=d;
}
protected final int CHARACTERISTICS=Spliterator.SIZED|Spliterator.DISTINCT|Spliterator.IMMUTABLE|Spliterator.NONNULL;
@Override
public Spliterator.OfInt spliterator(){
return Spliterators.spliterator(this,(to-from)/d+1,CHARACTERISTICS);
}
IntStream stream(){
return d==1?IntStream.rangeClosed(from,to):java.util.stream.StreamSupport.intStream(this.spliterator(),false);
}
static Range rep(int i){
return new Range(i);
}
static Range rep(int f,int t,int d){
return new Range(f,t,d);
}
static Range rep(int f,int t){
return rep(f,t,1);
}
static Range rrep(int f,int t){
return rep(t,f,-1);
}
}

ステータス

項目 データ
問題 0003 - 雛ちゃんとふろー
ユーザー名 fal_rnd
投稿日時 2018-08-22 12:05:01
言語 Java
状態 Accepted
得点 10
ソースコード長 4307 Byte
最大実行時間 144 ms
最大メモリ使用量 14856 KB

セット

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

テストケース

ファイル名 状態 実行時間 メモリ使用量 #
Input01 AC 100 ms 12776 KB
1
Input02 AC 92 ms 12352 KB
1
Input03 AC 89 ms 12624 KB
1
Input04 AC 91 ms 12836 KB
1
Input05 AC 98 ms 13216 KB
1
Input06 AC 91 ms 13376 KB
1
Input07 AC 85 ms 12704 KB
1
Input08 AC 94 ms 12692 KB
1
Input09 AC 91 ms 14856 KB
1
Input10 AC 87 ms 12456 KB
1
Input11 AC 88 ms 12608 KB
1
Input12 AC 144 ms 12348 KB
1
Input13 AC 98 ms 12684 KB
1
Input14 AC 103 ms 12916 KB
1
Input15 AC 94 ms 13196 KB
1
Input16 AC 89 ms 14800 KB
1
Input17 AC 94 ms 12736 KB
1
Input18 AC 91 ms 12840 KB
1
Input19 AC 94 ms 12836 KB
1
Input20 AC 91 ms 12356 KB
1