목록백준/백준-C++ (193)
VioletaBabel
#includeint main(){int n, m, k, ans = 0;scanf("%d %d %d", &n, &m, &k);while (1){if (n + m - k < 3 || n - 2 < 0 || m - 1 < 0)break;++ans;n -= 2;m -= 1;}printf("%d", ans);}
#include#includeint main(){int n, p[10000], sum = 0;scanf("%d", &n);for (int i = 0; i 1 && p[i - 1] > 1){p[i - 1] *= p[i];p[i] = 0;--i;}elsebreak;for (int i = 0; i < n; ++i)sum += p[i];printf("%d", sum);}
#include#include#includeint main(){char eq[52], num[6];scanf("%s", &eq);int left = 0, len = strlen(eq), rnum, ans = 0, minus = 1;eq[len] = '-';for (int i = 0, j; i < len+1; ++i)if (eq[i] == '+' || eq[i] == '-'){for (j = 0; left < i; ++left, ++j)num[j] = eq[left];num[j] = '\0';rnum = atoi(num);ans += minus*rnum;minus = (eq[i] == '-') ? -1 : minus;++left;}printf("%d", ans);}
#include#includeint main(){int n, p[1000], sum;scanf("%d", &n);for (int i = 0; i < n; ++i)scanf("%d", &p[i]);std::sort(&p[0], &p[n]);sum = p[0];for (int i = 1; i < n; sum += p[i++])p[i] += p[i - 1];printf("%d", sum);}
#include#include#define max(a,b) (a>b)?a:bint num[100000];int main(){int n;scanf("%d", &n);for (int i = 0; i < n; ++i)scanf("%d", &num[i]);for (int i = 1; i < n; ++i)num[i] = max(num[i], num[i] + num[i - 1]);printf("%d", *(std::max_element(&num[0], &num[n])));}
#include#include#define max(a,b) (a>b)?a:bint a[1000], ans1[1000], ans2[1000];int main(){int n;scanf("%d", &n);for (int i = 0; i -1; --j)if (a[i] > a[j])ans1[i] = max(ans1[i], ans1[j] + 1);for(int i = n-2; i > -1; --i)for(int j = i+1; j ..
#include#include#define max(a,b) (a>b)?a:bint a[1000], ans[1000];int main(){int n;scanf("%d", &n);for (int i = 0; i -1; --j)if (a[i] < a[j])ans[i] = max(ans[i], ans[j] + 1);printf("%d", *(std::max_element(&ans[0], &ans[n])));}
#include#include#define max(a,b) (a>b)?a:bint a[1000], ans[1000];int main(){int n;scanf("%d", &n);for (int i = 0; i -1; --j)if (a[i] > a[j])ans[i] = max(ans[i], ans[j] + a[i]);printf("%d", *(std::max_element(&ans[0], &ans[n])));}
#include#include#define max(a,b) (a>b)?a:bint a[1000], ans[1000];int main(){int n;scanf("%d", &n);for (int i = 0; i -1; --j)if (a[i] > a[j])ans[i] = max(ans[i], ans[j] + 1);printf("%d", *(std::max_element(&ans[0], &ans[n])));}