제출 #224770

#제출 시각아이디문제언어결과실행 시간메모리
224770MKopchevTeams (CEOI11_tea)C++14
0 / 100
375 ms37500 KiB
#include<bits/stdc++.h>
using namespace std;

const int nmax=1e6+42;
int n;
pair<int/*low*/,int/*id*/> inp[nmax];

pair<int/*max*/,int/*id*/> pref_max[nmax];

int dp[nmax];
int parent[nmax];

int main()
{
    scanf("%i",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%i",&inp[i].first);
        inp[i].second=i;
    }

    sort(inp+1,inp+n+1);

    pref_max[0]={0,0};
    dp[0]=0;

    for(int i=1;i<=n;i++)
    {
        dp[i]=-1;
        parent[i]=-1;

        if(i-inp[i].first>=0)
        {
            parent[i]=pref_max[i-inp[i].first].second;
            dp[i]=pref_max[i-inp[i].first].first+1;
        }

        pref_max[i]=max(pref_max[i-1],make_pair(dp[i],i));
    }

    printf("%i\n",dp[n]);
    int pos=n;

    for(int i=dp[n];i>=1;i--)
    {
        printf("%i",pos-parent[pos]);
        for(int j=parent[pos]+1;j<=pos;j++)
        {
            printf(" %i",inp[j].second);
        }
        printf("\n");
        pos=parent[pos];
    }
    return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

tea.cpp: In function 'int main()':
tea.cpp:15:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%i",&n);
     ~~~~~^~~~~~~~~
tea.cpp:18:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%i",&inp[i].first);
         ~~~~~^~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...