๐งจ ๋ฐฑ์ค 11399๋ฒ
๋ฌธ์ ์ถ์ฒ : ๋ฐฑ์ค 11399๋ฒ - ATM
๋ฌธ์ ๋์ด๋ : ์ค๋ฒ3
๋ฌธ์ ๋งํฌ : www.acmicpc.net/problem/11399
11399๋ฒ: ATM
์ฒซ์งธ ์ค์ ์ฌ๋์ ์ N(1 ≤ N ≤ 1,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ๊ฐ ์ฌ๋์ด ๋์ ์ธ์ถํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ Pi๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ Pi ≤ 1,000)
www.acmicpc.net
๐งจ ์๊ณ ๋ฆฌ์ฆ ์ ํ ๋ฐ C++ ์ฝ๋
์ด ๋ฌธ์ ํธ๋๋ฐ OS์ ํ๋ก์ธ์ค ์์ ์ ํ๋ ์๊ณ ๋ฆฌ์ฆ์ด ๋ฌธ๋ ์๊ฐ๋ฌ๋ค.. ์ํ์๊ฐ์ด ์งง์ ๊ฑธ ๋จผ์ ์คํ์ํค๋ฉด starvation(๊ธฐ์)์ด ๋ฐ์ํ ์๋ฐ์ ์๋ค๋ ๋ฌธ์ ๊ฐ ์์๋๋ฐ,, ์ด์จ๋ ๊ทธ๋ฆฌ๋๋ก ํ์ด๋ณด์๋ค. ๊ฐ ์๋ฆฌ์๊น์ง์ sum์ ์ ์ฅํ ๋ฐฐ์ด์ ๋ ๋ง๋ค ์๋ ์์ง๋ง ๊ดํ ์ ์ฅ๊ณต๊ฐ์ ๋ ์ฐ๊ณ ์ถ์ง ์์๋ค.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
#define MAX 1001
int main()
{
int N;
scanf("%d", &N);
vector<int> P(N);
for(int i = 0; i < N; i++) {
scanf("%d", &P[i]);
}
sort(begin(P), end(P));
int target = 0;
for(int i = 0; i < N; i++) {
target += P[i] * (N - i);
}
printf("%d", target);
return 0;
}
๐งจ ๋ฐฑ์ค 2217๋ฒ
๋ฌธ์ ์ถ์ฒ : ๋ฐฑ์ค 2217๋ฒ - ๋กํ
๋ฌธ์ ๋์ด๋ : ์ค๋ฒ4
๋ฌธ์ ๋งํฌ : www.acmicpc.net/problem/2217
2217๋ฒ: ๋กํ
N(1 ≤ N ≤ 100,000)๊ฐ์ ๋กํ๊ฐ ์๋ค. ์ด ๋กํ๋ฅผ ์ด์ฉํ์ฌ ์ด๋ฐ ์ ๋ฐ ๋ฌผ์ฒด๋ฅผ ๋ค์ด์ฌ๋ฆด ์ ์๋ค. ๊ฐ๊ฐ์ ๋กํ๋ ๊ทธ ๊ตต๊ธฐ๋ ๊ธธ์ด๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ค ์ ์๋ ๋ฌผ์ฒด์ ์ค๋์ด ์๋ก ๋ค๋ฅผ ์๋ ์๋ค. ํ
www.acmicpc.net
๐งจ ์๊ณ ๋ฆฌ์ฆ ์ ํ ๋ฐ C++ ์ฝ๋
์ญ์๋ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ ๋ฌธ์ ๋ ๋จธ๋ฆฌ๋ก ์๊ฐํ ๊ฑธ ์ฝ๋๋ก ๊ตฌํํด๋ด๊ธฐ๊ฐ ์กฐ๊ธ ๋ง๋งํ๋ค. ์ผ๋จ ๋กํ ์ค๋์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๊ณ ์์ ๊ฒ๋ถํฐ ์ค๋์ ๋๋ ค๊ฐ๋ฉฐ ์ด ์ค๋(maxweight)์ ๋น๊ตํ๋ค. ๋ณดํต ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ํฐ ๋จ์๋ถํฐ ๊ณ์ฐํ๋๋ฐ(ex. ๋์ ๋ฌธ์ ) ์ด ๋ฌธ์ ์์๋ ํฐ ๋จ์๋ถํฐ ๊ณ์ฐํ๋ฉด ์ ๋๋ค. ๋จธ๋ฆฌ๋ฅผ ๊ตด๋ฆฌ์..!
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
#define MAX 1001
int main()
{
int N;
scanf("%d", &N);
vector<int> rope(N);
for(int i = 0; i < N; i++) {
scanf("%d", &rope[i]);
}
sort(begin(rope), end(rope));
int maxweight = 0;
// ๊ฐ์ฅ ์์ ์ค๋ * ๋กํ ๊ฐ์ ์์๋ถํฐ ์ค๋์ ๋๋ ค๊ฐ๊ณ
// ๋กํ๊ฐ์๋ ์ค์ฌ๋๊ฐ๋ฉด์ ์ด ์ค๋์ ๋น๊ตํ๋ค
for(int i = 0; i < N; i++) {
int weight = rope[i] * (N - i);
if(maxweight < weight) {
maxweight = weight;
}
}
printf("%d", maxweight);
return 0;
}
๐งจ ๋ฐฑ์ค 13458๋ฒ
๋ฌธ์ ์ถ์ฒ : ๋ฐฑ์ค 13458๋ฒ - ์ํ๊ฐ๋
๋ฌธ์ ๋์ด๋ : ๋ธ๋ก ์ฆ2
๋ฌธ์ ๋งํฌ : www.acmicpc.net/problem/13458
13458๋ฒ: ์ํ ๊ฐ๋
์ฒซ์งธ ์ค์ ์ํ์ฅ์ ๊ฐ์ N(1 ≤ N ≤ 1,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ๊ฐ ์ํ์ฅ์ ์๋ ์์์์ ์ Ai (1 ≤ Ai ≤ 1,000,000)๊ฐ ์ฃผ์ด์ง๋ค. ์ ์งธ ์ค์๋ B์ C๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ B, C ≤ 1,000,000)
www.acmicpc.net
๐งจ ์๊ณ ๋ฆฌ์ฆ ์ ํ ๋ฐ C++ ์ฝ๋
๋ธ๋ก ์ฆ2๋ผ์ ๋ง๋งํ๊ฒ ๋ดค๋ค๊ฐ ์ ๋ต์จ์ด ์ 25ํผ์ธ์ง ๊นจ๋ฌ์๋ค. ๋ถ๋ช ๋ ผ๋ฆฌ๋ก๋ ๋ด ์ฝ๋๊ฐ ๋ง๋ ๊ฑฐ ๊ฐ์๋ฐ ์๊พธ ํ๋ ธ๋ค๊ธธ๋ ๊ฒ์ํ์ ์ฌ๋๋ค ์ง๋ฌธํ ๊ฑธ ์ด์ง ๋ดค๋๋ long long ์ผ๋ก ์ ์ธํด์ค์ผ ํ๋ค๋ ๋ด์ฉ์ด ์์๋ค. ์ฒ์์.. ์ด๊ฒ ๊ทธ๋ฅ int ํ ์์์ ๋ ธ๋ ๊ฑฐ ์๋๊ฐ ์ถ์๋๋ฐ.. ๋ณด๋ค๋ณด๋ ์ต์ข sum ๊ฐ์ long long ์ด ๋ ์๋ ์๊ฒ ๋๋ผ. ์ํ์ฅ ๊ฐ์๊ฐ N(1 ≤ N ≤ 1,000,000) 100๋ง์ด๊ณ , ์ํ์ฅ์ ์์์ ์๊ฐ Ai (1 ≤ Ai ≤ 1,000,000) ์ต๋ 100๋ง์ด๋ค. ๊ฐ๋ ๊ด์ด ๊ฐ๋ ํ ์ ์๋ ์ต์ ์ธ์์ด 1๋ช ์ด๋ ์๋ชปํ๋ฉด 100๋ง * 100๋ง ๋ช ์ ๊ฐ๋ ๊ด์ด ํ์ํ ์๋ ์๊ฒ ๋ค. 1 0000 0000 0000 ์ด๋๊น int ํ์ผ๋ก ๋ชป ๋ด์๋ธ๋ค. ๊ทธ๋ผ ๋ฌด์กฐ๊ฑด ํญ์ long long ํ์ ์ธ๊น๋ ์ถ์๋๋ฐ ๊ทธ๋ผ ์ฐ์ฐ ์๋๊ฐ ๋๋ ค์ง๋ค.. ์์ผ๋ก๋ ๋ฐ์ดํฐํ์ ๋ ๋ค์ ํ๋ฒ ๋ฐ์ ธ ๋ณผ ๊ฒ..
์ฝ๋๋ ์ข ๋๋ฌ์ด ๊ฑฐ ๊ฐ๋ค. ํ์ง๋ง ๋ค์ ์ค์ผ ์๊ฐ์ ์์..
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int N;
int B, C;
scanf("%d", &N);
vector<int> student(N);
for(int i = 0; i < N; i++) {
scanf("%d", &student[i]);
}
scanf("%d %d", &B, &C);
long long sum = 0;
for(int i = 0; i < N; i++) {
int classsum = 1;
if(student[i] <= B) {
sum += classsum;
continue;
} else {
student[i] -= B;
classsum += student[i] / C;
if(student[i] % C) classsum++;
sum += classsum;
}
}
printf("%lld", sum);
return 0;
}
'Problem Solving > BOJ ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] ์ ์ถ๋ ฅ๋ฌธ์ - getline, cin, %1d (0) | 2021.01.13 |
---|---|
[BOJ] C++ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด (3) (0) | 2021.01.12 |
[BOJ] C++ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด (1) (0) | 2021.01.11 |
[BOJ] ๊ธฐ๋ณธ๊ตฌํ๋ฌธ์ - 2490๋ฒ, 2864๋ฒ (C++ ์ฝ๋) (0) | 2021.01.10 |
[BOJ] ๊ธฐ๋ณธ๊ตฌํ๋ฌธ์ - 1085๋ฒ, 3460๋ฒ, 9085๋ฒ, 5361๋ฒ, 10250๋ฒ (C++ ๊ตฌํ) (0) | 2021.01.07 |