Submission #1317463

#TimeUsernameProblemLanguageResultExecution timeMemory
1317463neonglitchPermutation Recovery (info1cup17_permutation)C++20
Compilation error
0 ms0 KiB
#include <iostream> #include <vector> #include <algorithm> using namespace std; #define int long double main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; cin>>n; // int p[n+1]={0}; // for(int i=1;i<=n;i++)p[i]=i; // do{ int q[n+1]={0}; int ans[n+1]={0}; int val[n+1]={0}; // q[1]=1; // for(int i=2;i<=n;i++) // { // q[i]=1+q[i-1]; // for(int j=1;j<i;j++) // { // if(p[j]<p[i]) // { // q[i]+=(q[j]-q[j-1]); // } // } // } for(int i=1;i<=n;i++){ string s; cin>>s; for(int j=0;j<s.size();j++) { q[i]=(q[i]*10+(s[j]-'0')); } } // for(int i=1;i<=n;i++)cout<<q[i]<<' ';; // cout<<endl; for(int j=n;j>=1;j--) { int mx=-1; int sm=0,st=0; for(int i=1;i<=n;i++) { if(!val[i]) { if((q[i-1]*2+1-sm)==q[i]) { mx=i; st=sm; } } else{ sm+=val[i]; } } val[mx]=q[mx]-q[mx-1]; ans[mx]=j; } // bool fl=0; // for(int i=1;i<=n;i++) // { // if(ans[i]!=p[i]) // { // cout<<"fudge"<<endl; // fl=1; // break; // } // } // if(fl) // { for(int i=1;i<=n;i++)cout<<ans[i]<<' '; cout<<endl; // for(int i=1;i<=n;i++)cout<<p[i]<<' '; // cout<<endl; // break; // } // }while(next_permutation(p+1,p+1+n)); }

Compilation message (stderr)

Main.cpp:6:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
    6 | main()
      | ^~~~
Main.cpp: In function 'int main()':
Main.cpp:16:24: error: conversion from 'long double' to 'long unsigned int' in a converted constant expression
   16 |                 int q[n+1]={0};
      |                       ~^~
Main.cpp:16:24: error: could not convert '(n + (long double)1)' from 'long double' to 'long unsigned int'
   16 |                 int q[n+1]={0};
      |                       ~^~
      |                        |
      |                        long double
Main.cpp:16:24: error: size of array 'q' has non-integral type 'long double'
Main.cpp:17:26: error: conversion from 'long double' to 'long unsigned int' in a converted constant expression
   17 |                 int ans[n+1]={0};
      |                         ~^~
Main.cpp:17:26: error: could not convert '(n + (long double)1)' from 'long double' to 'long unsigned int'
   17 |                 int ans[n+1]={0};
      |                         ~^~
      |                          |
      |                          long double
Main.cpp:17:26: error: size of array 'ans' has non-integral type 'long double'
Main.cpp:18:26: error: conversion from 'long double' to 'long unsigned int' in a converted constant expression
   18 |                 int val[n+1]={0};
      |                         ~^~
Main.cpp:18:26: error: could not convert '(n + (long double)1)' from 'long double' to 'long unsigned int'
   18 |                 int val[n+1]={0};
      |                         ~^~
      |                          |
      |                          long double
Main.cpp:18:26: error: size of array 'val' has non-integral type 'long double'
Main.cpp:36:34: error: invalid types 'long double [1][long double]' for array subscript
   36 |                                 q[i]=(q[i]*10+(s[j]-'0'));
      |                                  ^
Main.cpp:36:40: error: invalid types 'long double [1][long double]' for array subscript
   36 |                                 q[i]=(q[i]*10+(s[j]-'0'));
      |                                        ^
Main.cpp:47:40: error: invalid types 'long double [1][long double]' for array subscript
   47 |                                 if(!val[i])
      |                                        ^
Main.cpp:49:46: error: invalid types 'long double [1][long double]' for array subscript
   49 |                                         if((q[i-1]*2+1-sm)==q[i])
      |                                              ^
Main.cpp:49:62: error: invalid types 'long double [1][long double]' for array subscript
   49 |                                         if((q[i-1]*2+1-sm)==q[i])
      |                                                              ^
Main.cpp:56:48: error: invalid types 'long double [1][long double]' for array subscript
   56 |                                         sm+=val[i];
      |                                                ^
Main.cpp:59:28: error: invalid types 'long double [1][long double]' for array subscript
   59 |                         val[mx]=q[mx]-q[mx-1];
      |                            ^
Main.cpp:59:34: error: invalid types 'long double [1][long double]' for array subscript
   59 |                         val[mx]=q[mx]-q[mx-1];
      |                                  ^
Main.cpp:59:40: error: invalid types 'long double [1][long double]' for array subscript
   59 |                         val[mx]=q[mx]-q[mx-1];
      |                                        ^
Main.cpp:60:28: error: invalid types 'long double [1][long double]' for array subscript
   60 |                         ans[mx]=j;
      |                            ^
Main.cpp:74:47: error: invalid types 'long double [1][long double]' for array subscript
   74 |                 for(int i=1;i<=n;i++)cout<<ans[i]<<' ';
      |                                               ^