codeforces 1197A. DIY Wooden Ladder ,B. Pillars, C. Array Splitting
2238 단어 codeforces
제목 링크: codeforces 1197A
제목:
n개의 널빤지를 제시하고 구성할 수 있는 사다리가 최대 몇 개냐고 묻는다.
문제 풀이:
가장 긴 널빤지 두 개를 양쪽으로 하고 나머지는 모두 페달로 하여 비교해 보면 된다
#include
using namespace std;
int main(){
int t;
cin >> t;
while(t--){
int n, a[200005];
cin >> n;
for(int i = 1; i <= n; i++){
cin >> a[i];
}
sort(a+1, a+1+n);
cout << min(a[n-1]-1, n-2) << endl;
}
return 0;
}
B. Pillars
제목 링크: codeforces 1197B
제목:
n개의 접시 반경을 주고, 작은 접시만 큰 접시 위에 놓을 수 있으며, 최종적으로 모든 접시를 한 위에 놓을 수 있느냐고 묻는다.
문제 풀이:
시뮬레이션, 가장 큰 것을 찾은 후 두 개의 바늘로 좌우로 조작하다
#include
using namespace std;
#define ll long long
int main(){
int n, m;
while(cin >> n){
int a[500005], maxx = 0, k = 0, L = 0, R = 0, f = 1;
for(int i = 1; i <= n; i++){
cin >> a[i];
if(a[i] > maxx){
maxx = a[i];
k = i;
}
}
L = k - 1; R = k + 1;
a[0] = 0;
a[n+1] = 0;
while(1){
if(L == 0 && R == n+1){ //
break;
}
if(a[L] >= a[k] || a[R] >= a[k]){ // ,
f = 0;
break;
}
else{
if(a[L] > a[R] && L > 0){ //
k = L;
L--;
}
else{ //
k = R;
R++;
}
}
}
if(f == 1 && L == 0 && R == n+1){
cout << "YES" << endl;
}
else{
cout << "NO" << endl;
}
}
return 0;
}
C. Array Splitting
제목 링크: codeforces 1197C
제목:
n개의 작은 그룹에서 큰 그룹으로 정렬된 그룹을 정하고 k개의 비공식적으로 인접한 하위 그룹으로 나눈다. 각 그룹의 값은 최대값에서 최소값을 빼고 최소 총계를 구한다.
문제 풀이:
만약 그룹을 나누지 않는다면, 그룹의 최대에서 그룹의 최소를 빼고, 즉 인접한 원소 간의 차이의 합이다
욕심 많은 사상, 인접한 원소의 차이를 정렬, 빼면 k개가 답이다
#include
using namespace std;
typedef long long ll;
const int maxn = 3e5 + 5;
ll a[maxn], d[maxn];
int main(){
int n, k;
ll ans = 0;
cin >> n >> k;
for(int i = 1; i <= n; i++){
cin >> a[i];
d[i] = a[i] - a[i-1];
ans += d[i];
}
ans = ans - d[1];
d[1] = 0;
sort(d+1, d+1+n);
k--;
while(k--){
ans = ans - d[n];
n--;
}
cout << ans << endl;
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Codeforces Round #715 Div. 2C The Sports Festival: 구간 DP전형구간 DP의 초전형. 이하, 0-indexed. 입력을 정렬하여 어디서나 시작하고 최적으로 좌우로 계속 유지하면 좋다는 것을 알 수 있습니다. {2000})$의 주문이 된다. 우선, 입력을 소트하여 n개의 요소를 $...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.