Skip to content

Commit d2ff9e6

Browse files
committed
Solve problems 072A, 072B, 072C and 072D from atcoder
1 parent f13878c commit d2ff9e6

File tree

5 files changed

+95
-0
lines changed

5 files changed

+95
-0
lines changed

AtCoder/072A - Sandglass2.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#include <stdio.h>
2+
3+
using namespace std;
4+
5+
int main() {
6+
int x, t;
7+
scanf("%d %d", &x, &t);
8+
9+
if(t <= x)
10+
printf("%d\n", x - t);
11+
else
12+
puts("0");
13+
14+
return 0;
15+
}

AtCoder/072B - OddString.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#include <iostream>
2+
#include <string>
3+
4+
using namespace std;
5+
6+
int main() {
7+
string s;
8+
cin >> s;
9+
for(int i = 0; i < s.length(); ++i)
10+
if(i % 2 == 0)
11+
cout << s[i];
12+
cout << endl;
13+
14+
return 0;
15+
}

AtCoder/072C - Together.cpp

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#include <stdio.h>
2+
#include <algorithm>
3+
4+
using namespace std;
5+
6+
int const N = 1e5 + 5;
7+
int n, fr[N];
8+
9+
int main() {
10+
scanf("%d", &n);
11+
for(int i = 0, tmp; i < n; ++i) {
12+
scanf("%d", &tmp);
13+
++fr[tmp];
14+
}
15+
16+
int res = fr[0] + fr[1];
17+
for(int i = 1; i < N - 1; ++i) {
18+
res = max(res, fr[i] + fr[i - 1] + fr[i + 1]);
19+
}
20+
res = max(res, fr[N] + fr[N - 1]);
21+
22+
printf("%d\n", res);
23+
24+
return 0;
25+
}

AtCoder/072D - Derangement.cpp

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#include <stdio.h>
2+
3+
using namespace std;
4+
5+
int const N = 1e5 + 5;
6+
int n, a[N];
7+
8+
int main() {
9+
scanf("%d", &n);
10+
for(int i = 1; i <= n; ++i)
11+
scanf("%d", a + i);
12+
13+
int res = 0;
14+
15+
if(a[1] == 1) {
16+
swap(a[1], a[2]);
17+
++res;
18+
}
19+
20+
for(int i = 2; i < n; ++i) {
21+
if(a[i] == i) {
22+
swap(a[i], a[i + 1]);
23+
--i;
24+
++res;
25+
}
26+
}
27+
28+
if(a[n] == n) {
29+
swap(a[n], a[n - 1]);
30+
++res;
31+
}
32+
33+
printf("%d\n", res);
34+
35+
return 0;
36+
}

AtCoder/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,7 @@
1414
- [060D - Simple Knapsack](http://abc060.contest.atcoder.jp/tasks/arc073_b)
1515
- [014A - Cookie Exchanges](http://agc014.contest.atcoder.jp/tasks/agc014_a)
1616
- [014B - Unplanned Queries](http://agc014.contest.atcoder.jp/tasks/agc014_b)
17+
- [072A - Sandglass2](http://abc072.contest.atcoder.jp/tasks/abc072_a)
18+
- [072B - OddString](http://abc072.contest.atcoder.jp/tasks/abc072_b)
19+
- [072C - Together](http://abc072.contest.atcoder.jp/tasks/arc082_a)
20+
- [072D - Derangement](http://abc072.contest.atcoder.jp/tasks/arc082_b)

0 commit comments

Comments
 (0)