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

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

º¤ÅÍ ¼³¸íµµ ºÎŹµå¸³´Ï´Ù.


±èµ¿±Ô 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 662
¹øÈ£ Á¦   ¸ñ ±Û¾´ÀÌ ³¯Â¥ Á¶È¸
522 ¹Ýº¹Á¦¾î¹® ÀÚ°¡Áø´Ü 6 (1) ¹Ú¹ÎÁØ 08-10 2870
521 ¹«·á¼ö°­½ÅûÀ» ¾î¶»°Ô ÇØ¾ß Çϳª¿ä (1) Á¶À±¼º 07-20 2976
520 2014³â ¹ö½º³ë¼± ¹®ÀÇ¿ä. (1) ¼Û¹ÌÁ¤ 06-27 3523
519 2015³â Àü±¹´ëȸ ÁßµîºÎ Æ®¸®,¹Ì¼ú°üÀº ¾ðÁ¦ °­ÀÇ°¡ ¿Ã¶ó¿À³ª¿ä? (1) ¼Û¹ÌÁ¤ 06-15 2934
518 Àüü°­Á ¼ö°­ÀÚ (1) ÇãÁ¾ 06-10 2722
517 2015³â Ä«µå°ÔÀÓ ¹®ÀÇ¿ä. (1) ¼Û¹ÌÁ¤ 05-24 3008
516 c¾ð¾î (1) ÀÓÈñ¼º 05-23 3029
515 Àüüȭ¸é (1) ÇãÁ¾ 05-12 2787
514 2015³â µ¿Àü °ÔÀÓ Àü±¹´ëȸ (1) ¼Û¹ÌÁ¤ 04-27 4786
513 2016³â Àü±¹´ëȸ µ¿¿µ»ó °­ÀÇ´Â ¾ðÁ¦Âë ¿Ã¶ó¿À³ª¿ä? (1) À̹ÌÈ­ 04-10 2902
512 ÀÔ±ÝÈ®ÀÎ ºÎŹµå¸³´Ï´Ù. (1) ÃÖÁö¼± 04-03 2922
511 ÀÔ±ÝÈ®ÀÎÇØÁÖ¼¼¿ä~~ (1) ³ª¼±¹Ì 04-02 2869
510 2012³â±âÃâ¹®Á¦ 34-35¹ø ¿À·ù(Ãʵî) (1) ±èÁ¤Èñ 04-01 2874
509 ÀÔ±ÞÈ®Àιٶø´Ï´Ù. (1) °­¿¬È£ 03-29 2717
508 ¸Àº¸±â µ¿¿µ»óÀÌ ¾ÈµÇ¿ä.. (1) õ¼±¹Ì 03-29 4075
507 ÀÔ±ÝÈ®ÀÎÀÌ¿ä (1) À±¿µÁÖ 03-29 2724
506 ÀÔ±Ý È®ÀÎ ºÎŹµå¸³´Ï´Ù. (1) ±èµ¿ÈÖ 03-26 2599
505 µ¿¿µ»óÀÌ µ¥½ºÅ©Å¾¿¡¼­´Â µÇ´Âµ¥ ³ëÆ®ºÏ¿¡¼± ¾ÈµÇ³×¿ä... (1) À±±¤´ö 03-26 2725
504 °áÀç¿Ï·áÇß½À´Ï´Ù. (1) ·ù¼ºÃ¢ 03-23 2784
503 µ¿¿µ»ó ½ÇÇà½Ã ¿¡·¯ ¹ß»ýÇÕ´Ï´Ù. (1) ¹Ú¼±ÇÏ 03-20 2722
 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