ひとりも見捨てないことを、あきらめない

学校教育、社会教育、数学、技術家庭科、Youtube、EdTech、ICT、プログラミング、その他

AtCoder Beginner Contest 143 問題D 10/25 金

AtCoder Beginner Contest 143 問題D 10/25 金

2019/10/19(土)に実施されたコンテストに参加してみました。
それぞれの問題について、考察してみます。

 

f:id:takase_hiroyuki:20191020103709p:plain


問題D ダメ

#include <bits/stdc++.h>
using namespace std;

int main() {
long ct;
ct = 0;

int N;
cin >> N;
vector <int> L(N);
for (int i=0; i<N; i++) {
cin >> L.at(i);
}

int a,b,c;
for (int i=0; i<N-2; i++) {
for (int j=i+1; j<N-1; j++) {
for (int k=j+1; k<N; k++) {
a = L.at(i);
b = L.at(j);
c = L.at(k);
if (a < b+c) {
if (b < a+c) {
if (c < a+b) {
ct = ct + 1;
} } } } } }

cout << ct << endl;
}

 

問題D よかった

#include <bits/stdc++.h>
using namespace std;

int main() {
long ct;
ct = 0;

int N;
cin >> N;
vector <int> L(N);
for (int i=0; i<N; i++) {
cin >> L.at(i);
}

sort(L.begin(), L.end());

for (int i=0; i<N-2; i++) {
for (int j=i+1; j<N-1; j++) {
for (int k=j+1; k<N; k++) {
if (L.at(i) + L.at(j) > L.at(k)){
ct ++;
} } } }
cout << ct << endl;
}

f:id:takase_hiroyuki:20190921052521p:plain