ÀÛ¼ºÀÏ : 17-05-24 13:16
2015³â Ä«µå°ÔÀÓ ¹®ÀÇ¿ä.
 ±Û¾´ÀÌ : ¼Û¹ÌÁ¤(nandasmj)
Á¶È¸ : 3,498  

¿Ã¸²ÇǾƵå Ç®ÀÌ¿¡´Â º¤Å͸¦ »ç¿ëÇØ¼­ ÄÚµù Çß´øµ¥ º¤ÅͰ¡ ¹º°¡¿ä?

º¤ÅÍ ¼³¸íµµ ºÎʵ右´Ï´Ù.


±èµ¿±Ô 17-06-07 20:24
 
´äº¯ÀÌ ´Ê¾î Á˼ÛÇÕ´Ï´Ù.
º¤ÅÍ´Â stl¿¡¼­ »ç¿ëÇÏ´Â ÄÁÅ×À̳ÊÀÇ ÀÏÁ¾Àε¥ ÀÏ¹Ý ¹è¿­°ú ºñ½ÁÇÕ´Ï´Ù.
º¤Å͸¦ »ç¿ëÇÏµç ¹è¿­À» »ç¿ëÇÏµç ¹®Á¦¸¦ ÇØ°áÇÏ´Â ¹æ¹ýÀº ¶È°°½À´Ï´Ù.
ÀÌ ¹®Á¦´Â µ¿Àû°èȹ¹ýÀ¸·Î °£´ÜÇÏ°Ô ÇØ°áÀÌ °¡´ÉÇÑ ¹®Á¦ÀÔ´Ï´Ù.
¾Æ·¡ ¹è¿­À» ÀÌ¿ëÇÑ ¼Ò½ºÄڵ带 Âü°íÇϽñ⠹ٶø´Ï´Ù.
°¨»çÇÕ´Ï´Ù.

#include <stdio.h>
#include <string.h>

int N, a[2100], b[2100], D[2100][2100], ans;
void dy()
{
    int i, j;
    memset(D, 0xffffffff, sizeof(D));
    D[1][1] = 0;
    for(i=1;i<=N;i++) {
        for(j=1;j<=N;j++) {
            if(D[i][j]==-1) break;
            D[i+1][j+1] = D[i][j];
            if(D[i+1][j]<D[i][j]) D[i+1][j]=D[i][j];
            if(a[i]>b[j] && D[i][j+1]<D[i][j]+b[j]) D[i][j+1]=D[i][j]+b[j];
        }
    }
}

int main()
{
    int i;
    scanf("%d", &N);
    for(i=1;i<=N;i++) scanf("%d", &a[i]);
    for(i=1;i<=N;i++) scanf("%d", &b[i]);
    dy();
    for(i=1;i<=N;i++) {
        if(ans < D[i][N+1]) ans = D[i][N+1];
        if(ans < D[N+1][i]) ans = D[N+1][i];
    }
    printf("%d\n", ans);
    return 0;
}
 
 

Total 667
¹øÈ£ Á¦   ¸ñ ±Û¾´ÀÌ ³¯Â¥ Á¶È¸
547 2017³â Ãʵî 31¹ø Ç®ÀÌ °úÁ¤ Áß°£¿¡ Ʋ·È´Âµ¥¿ä... (1) ¹ÚÁöÈÆ 03-09 3046
546 ÀÔ±Ý (1) ±è´ë¿¬ 03-04 2909
545 °­ÀǸ¦ Ãë¼Ò ÇϰíÀÚ ÇÕ´Ï´Ù. (1) ¹é±¤¼± 03-02 3079
544 ÀÔ±ÞÈ®ÀκÎŹµå¸³´Ï´Ù. (1) ¹é±¤¼± 03-01 2911
543 ¾È³çÇϼ¼¿ä (1) ±èÁÖ¿µ 02-28 2970
542 ÀÔ±ÝÈ®ÀÎ ºÎʵ右´Ï´Ù. (1) Àå»ó¿ì 02-25 2796
541 2017 °íµîºÎ Á¤¿Ã¿¹¼± 49¹ø (1) ±ÇÇõÂù 02-25 4339
540 2017³â Á¤¿Ã¿¹¼±-°íµîºÎ (1) À̹ÌÈ­ 02-23 4177
539 ¼ö°­½ÅûÇϰí ÀÔ±ÝÇß½À´Ï´Ù. (1) ÀÓÇöÁØ 02-17 2892
538 ¿À´Ã ÀÔ±Ý Çß½À´Ï´Ù È®ÀÎ ºÎʵ右´Ï´Ù (1) ÀÌÁØÈñ 02-15 2952
537 2017³â Àü±¹ ÃÊ Áß ±âÃâ¹®Á¦´Â µ¿¿µ»ó °­Àǰ¡ ¾ðÁ¦ ¿Ã¶ó¿À³ª¿ä? (1) ¼Û¹ÌÁ¤ 02-13 2914
536 ÀÔ±ÝÈ®ÀκÎŹµå¸³´Ï´Ù (1) ·ùÁö¹Î 02-12 2888
535 2012³â Áß°íµîºÎ 30¹ø Áú¹® (1) ¾çÁøÇõ 02-10 2971
534 ÀÔ±ÝÈ®ÀκÎŹµå¸³´Ï´Ù. (1) ÀüÀçÇõ 02-10 2894
533 °áÁ¦ (1) ÇãÁØ¿ø 02-04 2891
532 µ¿¿µ»ó È­¸éÀÌ ÀÜ»ó¹× ³ëÀÌÁî ¹ß»ý (1) ±èÁß±Ç 01-26 3287
531 ¹è¿­2 ÀÚ°¡Áø´Ü (1) ÀÌÇм· 01-09 3281
530 ÀÔ±ÝÈ®ÀÎ ºÎʵ右´Ï´Ù. (1) Á¤ÁÖ¿µ 01-08 3282
529 2017Áö¿ª¿¹¼±Ç®À̰¡ ´Ê¾îÁö³×¿ä (1) ÇãÁ¾ 12-31 3377
528 2017³â Á¤º¸¿Ã¸²ÇÇ¾Æµå °­Á´ ¾ðÁ¦ º¼¼öÀÖÀ»±î¿ä? (1) ¼ºÁ¤¸ð 12-26 3099
 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30    

ȸ»ç¼Ò°³ | °³ÀÎÁ¤º¸Ã³¸®¹æÄ§ | ÀÌ¿ë¾à°ü | ã¾Æ¿À½Ã´Â ±æ | À̸ÞÀÏÁÖ¼Ò ¹«´Ü¼öÁý°ÅºÎ | »ç¾÷ÀÚÁ¤º¸È®ÀÎ
°æ±âµµ ¾È¾ç½Ã µ¿¾È±¸ È£°èµ¿ 1065-10 Çù¼º°ñµåÇÁ¶óÀÚ 601È£ ÇÑÄÄ¿¡µàÄÉÀ̼Ç(ÁÖ) TEL : 031-388-8840 FAX : 031-388-0996
´ëÇ¥ÀÚ : ±èµ¿±Ô »ç¾÷ÀÚ¹øÈ£ : 130-86-02870 Åë½ÅÆÇ¸Å¾÷½Å°í¹øÈ£ : Á¦ 2010-°æ±â¾È¾ç-888È£
COPYTIGHT(C) ÇÑÄÄ¿¡µàÄÉÀ̼Ç(ÁÖ), ALL RIGHT RESERVED.
´ãÀº°­Á : 0