Skip to content

Commit 8b0695b

Browse files
committed
AC P1052
1 parent 09dd27c commit 8b0695b

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

P1052.cpp

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#include "header.h"
2+
3+
4+
class Solution {
5+
public:
6+
int maxSatisfied(vector<int>& customers, vector<int>& grumpy, int X) {
7+
int hap = 0;
8+
for (int i=0; i<customers.size(); i++) {
9+
if (grumpy[i]==0) hap+=customers[i];
10+
}
11+
int win,h,t;
12+
h=0; t=X; win=0;
13+
for (int i=h; i<t && i<customers.size(); i++) {
14+
if (grumpy[i]==1) win+=customers[i];
15+
}
16+
int maxWin = win;
17+
while (t<customers.size()) {
18+
if (grumpy[t]==1) win+=customers[t];
19+
if (grumpy[h]==1) win-=customers[h];
20+
t++; h++;
21+
if (win>maxWin) maxWin = win;
22+
}
23+
return hap+maxWin;
24+
}
25+
};
26+
27+
28+
29+
int main() {
30+
vector<int> customers, grumpy;
31+
int X;
32+
customers = {1,0,1,2,1,1,7,5};
33+
grumpy = {0,1,0,1,0,1,0,1};
34+
X = 3;
35+
cout << Solution().maxSatisfied(customers, grumpy, X) << endl;
36+
return 0;
37+
}

0 commit comments

Comments
 (0)